题解 | #字符串的排列#

买卖股票的最好时机

http://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec

动态规划,设置一个min, 保存之前遇到的最小值。dp[i] = Math.max(prices[i]-min, dp[i-1])
public int maxProfit (int[] prices) {
        // write code here
        int[] dp = new int[prices.length];
        dp[0] = 0;
        int min = prices[0];
        for (int i = 1; i < prices.length; i++) {
            min = min > prices[i] ? prices[i] : min;
            dp[i] = Math.max(prices[i] - min, dp[i-1]);
        }
        return dp[prices.length-1];
    }


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务