您的位置:首页 > 其它

LintCode_150_买卖股票的最佳时机 II

2016-04-06 15:53 302 查看
假设有一个数组,它的第i个元素是一个给定的股票在第i天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。

您在真实的面试中是否遇到过这个题?

Yes

样例

给出一个数组样例[2,1,2,0,1], 返回 2
开始以为只是数组中最大的减去最小的,不知道要不要看先后顺序,不过既然是按天数,所以应该是要的,而且题目说是多次操作,尝试了下数据[11,2,1,2,3,1,0,4]输出的是6,所以应该是按天数递增然后多次操作后的结果。
这中等题比容易的还容易

class Solution {
/**
* @param prices: Given an integer array
* @return: Maximum profit
*/
public int maxProfit(int[] prices) {
// write your code here
int profits = 0;
for (int i = 0;i < prices.length-1 ; i++){
int profit = prices[i+1]-prices[i];
if(profit > 0){
profits+=profit;
}
}
return profits;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: