Re: [問題] 面試遇到的題目

看板Programming作者 (艾斯寇德)時間16年前 (2008/08/13 07:32), 編輯推噓2(2010)
留言12則, 4人參與, 最新討論串2/4 (看更多)
我提供一下我會嘗試的做法,首先我先產生31個大小的陣列,裡面有數字0~30 以及一個back,為陣列最後一個元素的索引位置。 如果back為0 則回傳0 n = 產生亂數[ 1 , back ]; 回傳值 = 陣列[ n ]; 對調(陣列[ n ] 跟陣列[ back ]); --back; 如果back為0,則清空陣列。 回傳回傳值; 外面檢查回傳值是否為0,0表示座位已滿。 這是在座位沒有0號的情形。 有0號的話則以丟出exception的方式。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.225.9 ※ 編輯: sunneo 來自: 61.227.225.9 (08/13 07:43)

08/13 07:49, , 1F
我也會這樣寫 存成char array也不一定會比
08/13 07:49, 1F

08/13 07:49, , 2F
boolean array佔空間
08/13 07:49, 2F
※ 編輯: sunneo 來自: 61.227.225.9 (08/13 08:05)

08/13 08:33, , 3F
座位是從1~30號 又忘了寫 =.="
08/13 08:33, 3F

08/13 09:09, , 4F
不不不..我知道是1~30
08/13 09:09, 4F

08/13 09:10, , 5F
只是保留0作為back的最後一號
08/13 09:10, 5F

08/13 09:10, , 6F
如果取得0表示座位已滿
08/13 09:10, 6F

08/13 09:11, , 7F
你自己用這做法run一次就知道了.
08/13 09:11, 7F

08/13 10:14, , 8F
嗯嗯 我懂你的意思 但是我不瞭解 你們怎
08/13 10:14, 8F

08/13 10:14, , 9F
怎麼避免選到重複的位子...?
08/13 10:14, 9F

08/13 10:15, , 10F
把選到的位置跟最後元素對調並且popback
08/13 10:15, 10F

08/13 10:15, , 11F
這樣就相當於把選到的位置從候選拿掉
08/13 10:15, 11F

08/13 11:15, , 12F
好方法啊!!!QQ
08/13 11:15, 12F
文章代碼(AID): #18eXrr1E (Programming)
文章代碼(AID): #18eXrr1E (Programming)