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
#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
討論串 (同標題文章)
本文引述了以下文章的的內容:
討論
1
10
完整討論串 (本文為第 11 之 27 篇):
討論
6
25
討論
1
2
討論
7
16
討論
1
1
討論
23
66
討論
3
8
討論
5
16