2020.04.09笔记

2020.04.09笔记

leetcode3 NO.122买卖股票的最佳时机

  • 题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
  • 自己解答:保证最大利润的方法就是每天赚就买 亏就不买。拆分成小的问题解决。时间复杂度n,空间复杂度1
class Solution {
    public int maxProfit(int[] prices) {
        int maxprofit = 0;
        for(int i=1; i<prices.length; i++){
            int minusNum = prices[i] - prices[i-1];
            if(minusNum > 0){
                maxprofit = maxprofit + minusNum;
            }
        }
        return maxprofit;
    }
}
  • 优化解答:几乎没有优化空间 省略

你可能感兴趣的:(每天加油一点点)