买卖股票的最佳时间
只能进行一次买入卖出操作,所以要找到整个区间内的最大差值
暴力搜索时间复杂度是O(n^2),使用一个标记值来判定是否满足条件,时间复杂度可以优化到O(n)
package DP.No121;
class Solution {
public int maxProfit(int[] prices) {
int maxPro = 0;
int tmp = 0;
for(int i=0; i < prices.length-1; i++){
int cur = prices[i+1] - prices[i];
tmp += cur;
if(tmp < 0)
tmp = 0;
if(tmp > maxPro)
maxPro = tmp;
}
return maxPro;
}
}