122.买卖股票的最佳时机
思路
因为要低价买,高价卖,实际就是每一个递增序列,起点到终点的差即一次交易,所有的递增序列加起来。用一个标志前进,遇到下一个当前大于标志的,证明还在递增序列,求差加,更新标志;否则不在递增序列,直接更新标志,开始下一轮。
代码
public class T122 {
public int maxProfit(int[] prices) {
int num=0;//记录每个递增序列的首尾差的和
int temp=prices[0];
for (int i = 1; i < prices.length; i++) {
if (prices[i]>temp){
num+=prices[i]-temp;
temp=prices[i];
} else {
temp=prices[i];
}
}
return num;
}
}
总结
这道题目前为止最简单,没什么好说的,递增序列的处理和标志可能需要思考一下。