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

看板Soft_Job作者 (十三)時間11年前 (2014/07/03 20:55), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串11/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 #include <iostream> #include <cmath> #include <climits> using namespace std; const int SIZE = 8; int DP(int (*A)[SIZE], int *P, int len) { int ret = INT_MIN; for (int i = 1; i < len; ++i) { for (int j = i - 1; j >= 0; --j) { A[i][j] = max(A[i][j], max(A[i - 1][j] * P[i], P[i])); if(ret < A[i][j]) { ret = A[i][j]; } } } return ret; } int main() { int P[SIZE] = { 2 , -7 , 0 , 2 , 3 , 8 , -6 , 5 }; int A[SIZE][SIZE] = {INT_MIN}; cout << DP(A, P, SIZE) << endl; return 0; } 不想多說什麼... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.203.156 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1404392105.A.26B.html

07/03 20:57, , 1F
不想多說就把文刪掉吧
07/03 20:57, 1F

07/03 21:41, , 2F
有兩個負的就爆了 不想多說好歹也看一下前面的討論...
07/03 21:41, 2F
文章代碼(AID): #1JjLAf9h (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1JjLAf9h (Soft_Job)