您的位置:首页 > 其它

Leetcode - Best Time to Buy and Sell Stock

2014-10-18 23:09 232 查看
知道是求连续最大子数组后就简单了。但是注意边界条件,如果最大子数组之和<0,那就不要交易了, 返回0.

public class Solution {
public int maxProfit(int[] prices) {

if(prices.length < 2)
return 0;

int n = prices.length;
int[] diffs = new int
;

for(int i=0;i<n-1;i++)
diffs[i] = prices[i+1] - prices[i];

int csum = 0;
int maxsum = 0;

for(int i=0;i<n-1;i++)
{
csum += diffs[i];
if(csum > maxsum)
maxsum = csum;

if(csum < 0)
csum = 0;
}

return maxsum;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: