题解 | #买卖股票的最好时机(三)#

买卖股票的最好时机(三)

https://www.nowcoder.com/practice/4892d3ff304a4880b7a89ba01f48daf9

using System;
using System.Collections.Generic;


class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 两次交易所能获得的最大收益
     * @param prices int整型一维数组 股票每一天的价格
     * @return int整型
     */
    public int maxProfit (List<int> prices) {
        int[] dp = new int[5];
        dp[1] = -prices[0];
        dp[3] = -prices[0];
        for(int i = 1; i < prices.Count; i++){
            for(int j = 1; j < 5; j++){
                if(j % 2 == 0){//卖出去
                    dp[j] = Math.Max(dp[j], dp[j - 1] + prices[i]);
                }
                else{//买进来
                    dp[j] = Math.Max(dp[j], dp[j - 1] - prices[i]);
                }
            }
        }
        return dp[4];
    }
}

全部评论

相关推荐

07-02 13:52
门头沟学院 Java
点赞 评论 收藏
分享
牛客84809583...:举报了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 11:27
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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