看板 Soft_Job 關於我們 聯絡資訊
※ 引述《sleeper0121 (sleeper)》之銘言: : 今天去面試,裡面有題題目是這樣: : 寫個函式,傳個整數陣列進去,陣列裡面的整數可以是正數、負數或 0 : 請回傳一個陣列裡面相鄰互乘的最大整數值 : 例如: [2 , -7 , 0 , 2 , 3 , 8 , -6 , 5] : 就是 2 * 3 * 8 = 48 : 再一個例子: [-2 , 0 , 3 , 5 , -7] : 就是 3 * 5 = 15 : 請問這題思考邏輯大概是怎樣呢? : 當下沒解出來,害我回家後還一直再想 XD 之前面試也有考這題... 我是這樣解法 不知道哪邊有問題? int[] array = new int[] { -2 , 0 , 3 , 5 , -7 }; int max = array[0] * array[1]; for (int i = 0; i < array.length - 1; i++) { int sum = array[i]; for (int j = i + 1; j < array.length; j++) { sum *= array[j]; if (sum < max) { break; } max = sum; } } System.out.println(max); 是用JAVA 寫的 -- 宗 白◢██◣__ ◢███◣__◢██◣    目  白 ████ˍ ⊙ ⊙They~~ 目─⊙-⊙- 白██ They~~ ███ 你這不是 目□︵□ 妳可以憋氣兩分鐘 三 ◥█ They~~◥█ 見到我了嗎? 真不簡單~~ 種 ◢█ ◢██ ◢█ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.39.70 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1404396741.A.64F.html
kiii210:看完整串我只想說 PTT有沒有類似的版啊 07/03 22:24
kiii210:有專版 可以問面試的題目 大家一起討論好像也不錯 07/03 22:25
dementia:"if(sum==max){}"碰到很多負數時會有問題,例{-2,2,2-2} 07/03 22:32
dementia:應該算出16,你的程式會算出4 07/03 22:32
dementia:sry錯字 應該是"sum<max" 07/03 22:34
y3k:你這樣寫有個問題 就是如果搜尋到負數 但是下一個也是負數的時 07/03 22:35
y3k:候一定會出錯 07/03 22:35
y3k:我個人會先把正負用一個新陣列標出來個別分析一次XD 07/03 22:36
yyc1217:有Prob_solve版 07/03 22:50
super2649:感謝..難怪面試被說邏輯很差..哀 07/03 23:12
dementia:原po拍拍,加油加油 07/03 23:20