股票问题(多次买卖),动态规划
1 2 3 4 5 6 7 8 9 10 11 12 | public static int MaxProfit( int [] prices) { int priceSize = prices.Length; int [,] dp= new int [priceSize,2]; //同一天有两种状态, [i,0]为第i天没有股票的利润,[i,1]为i天持有股票的利润 dp[0,0] = 0; dp[0,1] = -prices[0]; //初始化,第一天没有进行股票交易为0,第一天买入股票,利润为-price[0]。 for ( int i = 1; i < priceSize; i++) { dp[i,0] = Math.Max(dp[i - 1,0], dp[i - 1,1] + prices[i]); //i天m没有股票股票,利润为前一天卖出的利润,与i天卖出股票时利润的最大值 dp[i,1] = Math.Max(dp[i - 1,1], dp[i - 1,0] - prices[i]); //i天持有股票时的利润,为前一天持有股票时的利润,或者今天买入股票的利润的最大值。 } return dp[priceSize - 1,0]; } |
分类:
算法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2023-06-02 关于word-wrap: break-word; word-break: break-all;影响页面格式