力扣每日一练(24-1-19)

发布时间:2024年01月20日

我的思路:

    def maxProfit(self, prices: List[int]) -> int:
        if not len(prices):
            return 0 

        max_profit = 0
        
        for p in range(len(prices) - 1):
            prices[p] = prices[p + 1] - prices[p]
            prices[p] = max(0, prices[p])
        
        max_profit = sum(prices[:-1])
        return  max_profit

? ? ? ? 其实就是把价格数组变成了 :价格变化值数组。

? ? ? ? 即从标量(常量)变成了变化量(差异值),把正的变化量相加。

糕手:

Python:

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        max_profit = 0
        for i in range(1, len(prices)):
            if prices[i] > prices[i - 1]:
                max_profit += prices[i] - prices[i - 1]
        return max_profit

C#

public int MaxProfit(int[] prices) {
    int maxProfit = 0;
    for (int i = 1; i < prices.Length; i++) {
        if (prices[i] > prices[i - 1]) {
            maxProfit += prices[i] - prices[i - 1];
        }
    }
    return maxProfit;
}

文章来源:https://blog.csdn.net/weixin_47420447/article/details/135687110
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。