算法随想录算法训练营第四十二天|121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

121. 买卖股票的最佳时机

思路:其实思路还是挺简单的,只需要算出每个与前一个值得差数记录下来放到数组中,然后查询数据中连续和最大得值是多少,就是这道题得答案。主要是关系得公式为dp[i] = Math.max(dp[i],dp[i-1]+dp[i])。

 public static int maxProfit(int[] prices) {
        int[] dp = new int[prices.length];
        dp[0] = -prices[0];
        for(int i = 1;i



122.买卖股票的最佳时机II 

思路:只需要计算每个值与前一个数值得差值,如是是正数,说明可以盈利;只需要将这些正数相加就是最大盈利的值。

class Solution {
    public int maxProfit(int[] prices) {
       int res = 0;
       int[] arr = new int[prices.length];
       for(int i = 1;i0)
                res+=arr[i];
       }
       return res;
    }
}

你可能感兴趣的:(算法,java,数据结构)