首页 > 其他分享 >股票问题(多次买卖),动态规划

股票问题(多次买卖),动态规划

时间:2024-06-02 22:54:50浏览次数:13  
标签:买卖 priceSize int 股票 prices 动态 规划 dp 利润

 

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];
}

  

标签:买卖,priceSize,int,股票,prices,动态,规划,dp,利润
From: https://www.cnblogs.com/Dongmy/p/18227785

相关文章

  • 【普及二】【九 动态规划二】【第6题】
    思考过程:1.有题目联想到DP基础——>最大子段和2.分析题目,可知此题本质为修改后的最大子段和3.根据题目要求,修改状态将f[i]——>i结尾最大子段和改为f[i][j]——>i结尾,加j个最大子段和4.设计方程(有最大子段和原题更改)收获要学会从新题目中发现旧题目,更改后即......
  • Vue.js 动态组件与异步组件
    title:Vue.js动态组件与异步组件date:2024/6/2下午9:08:50updated:2024/6/2下午9:08:50categories:前端开发tags:Vue概览动态组件异步加载性能提升路由管理状态控制工具生态第1章Vue.js简介1.1Vue.js概述Vue.js是一个渐进式的JavaScript框架,用于构......
  • C语言之动态内存管理
    目录一、什么是动态内存分配二、malloc和free三、calloc和realloc四、常见的动态内存的错误 五、柔性数组六、总结 一、什么是动态内存分配动态内存分配是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。与静态内存分配不同,动态内存分配不需要......
  • 01 分数规划
    1问题概述分数规划是用于求一类分式的极值问题。给定两个数列\(a_i,b_i\),求出一个数列\(w_i\in\{0,1\}\),最小(大)化下列式子:\[\dfrac{\sum\limits_{i=1}^na_i\timesw_i}{\sum\limits_{i=1}^nb_i\timesw_i}\]再说直白点就是每个物品有\(a,b\)两个权值,选出当中一些物品,使......
  • java动态获取实体类的字段
    1.使用反射(Reflection)API来动态地获取实体类的字段在Java中,我们可以使用反射(Reflection)API来动态地获取实体类的字段。以下是一个详细的代码示例,演示了如何获取一个实体类的所有字段:首先,我们定义一个简单的实体类(EntityClass):publicclassPerson{privateStringname;......
  • 动态路由OSPF单区域和多区域配置实验
    动态路由OSPF的配置OSPF分类两种情况:单区域多区域路由OSPF单区域路由配置OSPF:开放最短路径优先的路由协议。属于大型动态路由协议,适用于中大型的园区网。网络拓扑:配置步骤:1.完成基本配置(略)2.配置OSPF单区域路由[AR1]ospf1[AR1-ospf-1]area0[AR1-ospf-1-area-0......
  • 使用动态规划法求最大连续子序列和
    通过动态规划方法求最大连续子序列和问题描述:给定一个有n(n>=1)个整数的序列,求出其中最大连续子序列的和。如:{-2,11,-4,13,-5,-2},最大的连续子序列是:{11,-4,13}和为20。【规定】一个序列的最大连续子序列和至少是0,如果小于0,其结果为0。解法:使用一个整型数组arr[]来存......
  • FreeRTOS基础(三):动态创建任务
       上一篇博客,我们讲解了FreeRTOS中,我们讲解了创建任务和删除任务的API函数,那么这一讲,我们从实战出发,规范我们在FreeRTOS下的编码风格,掌握动态创建任务的编码风格,达到实战应用!目录一、任务函数二、动态创建任务的基本步骤2.1使能FreeRTOS的API函数2.2 定义动态创......
  • HTML网页设计:基于爱护动物题材——保护动物大象(6页) HTML网页设计结课作业 web课程设
    ......
  • 线性规划灵敏度分析——Python实现
    灵敏度分析(SensitivityAnalysis)是线性规划的一个重要部分,用于研究在模型参数发生变化时,最优解和目标函数值的变化情况。它能够识别和评估参数变动对解的影响,从而帮助决策者了解模型的稳定性及其对不同条件变化的反应。例如,通过灵敏度分析,决策者可以确定在什么范围内,目标函数系数......