C/C++教程

leetcode记录-122

本文主要是介绍leetcode记录-122,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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;
    }
}

总结

这道题目前为止最简单,没什么好说的,递增序列的处理和标志可能需要思考一下。

这篇关于leetcode记录-122的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!