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

看板Soft_Job作者 (dk)時間11年前 (2014/07/03 18:32), 11年前編輯推噓1(104)
留言5則, 4人參與, 最新討論串9/27 (看更多)
※ 引述《sleeper0121 (sleeper)》之銘言: : 今天去面試,裡面有題題目是這樣: : 寫個函式,傳個整數陣列進去,陣列裡面的整數可以是正數、負數或 0 : 請回傳一個陣列裡面相鄰互乘的最大整數值 : 例如: [2 , -7 , 0 , 2 , 3 , 8 , -6 , 5] : 就是 2 * 3 * 8 = 48 : 再一個例子: [-2 , 0 , 3 , 5 , -7] : 就是 3 * 5 = 15 : 請問這題思考邏輯大概是怎樣呢? : 當下沒解出來,害我回家後還一直再想 XD 1. 用 0 切但 0 不可以去掉 ex -1, 0, -2 最大值是 0, 去掉就只剩負的 (如題目改為最大正整數則無解) EDIT: 假如一定要 "互乘" 不能取單一個數, 則此例改為 -1, 1, 0, -2, 1 2. 除零外的子數列: 2.1 含一個負數則以該負數為切點再切 2.2 含二個 (含) 以上的偶數個負數則取全數列 2.3 含三個 (含) 以上的奇數個負數則取以下兩個數列 子數列第一個值取到子數列中最後一個負數之前 子數列中第一個負數之後取到子數列的最後一個值 ex: 1, -2, 1, -2, -3, 1 則取 1, -2, 1, -2 和 1, -2, -3, 1 兩者 邏輯大概這樣, 程式就算了, 沒想清楚的細節也算了 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.201.75 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1404383573.A.E64.html ※ 編輯: lovdkkkk (36.226.201.75), 07/03/2014 18:35:58

07/03 19:04, , 1F
有回答問題的網友們, 你們花了多久想出解法
07/03 19:04, 1F

07/03 19:55, , 2F
大概有十分鐘?
07/03 19:55, 2F

07/03 20:11, , 3F
2~3分鐘 不過我類似題目曾經想蠻久的orz
07/03 20:11, 3F

07/03 20:12, , 4F
這類題目還是很吃經驗
07/03 20:12, 4F

11/29 12:52, , 5F
這題我想了兩個小時 得到一個還不錯的解法
11/29 12:52, 5F
文章代碼(AID): #1JjJ5Lva (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1JjJ5Lva (Soft_Job)