股票(无限次交易)
题目描述:
假定你知道某只股票每一天价格的变动。
你最多可以同时持有一只股票。但你可以无限次的交易(买进和卖出均无手续费)。
请设计一个函数,计算你所能获得的最大收益。
示例1:
输入:[1,2,3,4,5]
输出:4
说明:第一天买进,最后一天卖出最优。中间的当天买进当天卖出不影响最终结果。最大收益为4。
题目链接:
思路:
这个题很简单,只需要数组临近两个数后面的数大于前面的数就把受益加进去,不是的话就不加,遍历一次数组就行。
代码:
import java.util.*;
public class Solution {
public int maxProfit (int[] prices) {
// write code here
int res = 0;//收益值初始为0
for (int i = 1; i < prices.length; i++) {
if (prices[i] > prices[i - 1]) {
res += prices[i] - prices[i - 1];//后面价格大于前面价格就把值加入res中
}
}
return res;
}
}