Re: [討論] 面試遇到的考題
※ 引述《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 MaxSubArrayProduct(int A[], int n)
{
int curSubarrMax = 1;
int dpMax = INT_MIN;
for (int i = 0; i < n; ++i)
{
curSubarrMax = std::max(curSubarrMax * A[i], A[i]);
dpMax = std::max(dpMax, curSubarrMax);
}
return dpMax;
}
Complexity:
O(n) time
O(1) space
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.232.252
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1404373873.A.E7B.html
→
07/03 15:54, , 1F
07/03 15:54, 1F
→
07/03 15:54, , 2F
07/03 15:54, 2F
→
07/03 15:55, , 3F
07/03 15:55, 3F
※ 編輯: developers (106.1.232.252), 07/03/2014 15:58:40
→
07/03 15:59, , 4F
07/03 15:59, 4F
→
07/03 16:01, , 5F
07/03 16:01, 5F
→
07/03 16:06, , 6F
07/03 16:06, 6F
推
07/03 16:08, , 7F
07/03 16:08, 7F
推
07/03 16:09, , 8F
07/03 16:09, 8F
→
07/03 16:12, , 9F
07/03 16:12, 9F
→
07/03 16:14, , 10F
07/03 16:14, 10F
→
07/03 16:14, , 11F
07/03 16:14, 11F
→
07/03 16:16, , 12F
07/03 16:16, 12F
→
07/03 16:18, , 13F
07/03 16:18, 13F
討論串 (同標題文章)
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章
9
10
88
136