Re: [討論] 面試遇到的考題

作者: dementia (早安競女賽尻認同請分享)   2014-07-03 18:09:27
如果只討論思考邏輯的話…
0.5 檢查陣列長度,如果<2,則回傳錯誤訊息
1.用”0”切陣列
{A,0,B} → {A} {B}
2.計算每個陣列長度。如果最長=1,則回傳0,結束
3.將長度1的全部踢除
4.如果有一個陣列長度>=4,則結果一定大於0,反之,應該蠻幹就可以了。然後,如果所
有的乘積都為負,則回傳0,否則回傳最大值,結束
5. 如果有一個陣列長度>=4,則對於每個陣列做以下計算
5-1 直接相乘。如果為正值,將這個值儲存,否則計算5-2~5-4
5-2 將陣列中第一個負數(含)前的數全踢除,如果剩餘的數長度>=2,則剩餘的相乘算乘

5-3 將陣列中最後一個負數(含)後的數全踢除, 如果剩餘的數長度>=2,則剩餘的相乘算
乘積
5-4 將5-2和5-3的結果儲存
6.將步驟5儲存的所有數值取最大值,回傳,結束。

Links booklink

Contact Us: admin [ a t ] ucptt.com