Skip to content

Commit 4583731

Browse files
committed
很开心,找到这么短的实现方法,太牛了!!
1 parent 8061774 commit 4583731

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

DP-DFS-memo/MaxProduct

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//最普通的DP?怎么又不会DP了,这么简短的DP和思想,瞬间吓尿了有没有。。这差距。。。
2+
3+
4+
5+
6+
7+
// 循环的过程中记录最大值和最小值!!
8+
9+
10+
11+
12+
class Solution {
13+
public:
14+
int maxProduct(int A[], int n) {
15+
int result = A[0], midMin = A[0],midMax = A[0];
16+
for(int i = 1;i < n;i++)
17+
{
18+
int a = min(midMin * A[i],midMax * A[i]);// 这样的比较保证值为连续的!
19+
int b = max(midMin * A[i],midMax * A[i]);
20+
midMin = min(a,A[i]);// 最小的数也要记录,这样就可以在后面再遇到负数的时候变成最大的。
21+
midMax = max(b,A[i]);
22+
result = max(midMax,result);
23+
}
24+
return result;
25+
26+
}
27+
};

0 commit comments

Comments
 (0)