复盘股票问题

通过leetcode上的几道经典的股票问题,我们由浅入深地认识到动态规划的精妙之处,下面我们来复盘一下股票问题的解题思路,看我们是如何抽丝剥茧,一步一步地逼近正确思路,迎来柳暗花明的。

首先还是老生常谈的问题:遇到动态规划问题,首先思考【状态】和【选择】的问题。
在股票系列问题中,最初拿到题目时不要慌,再复杂的问题都是有套路可循的,若要用动态规划,我们首先要思考其【状态】,再说的通俗一点就是【变量】,看问题中哪些量是变化的,在此题中是“天数” “交易次数” “股票的持有状态”。那么怎样寻找状态转移呢?此时我们要知道所谓【状态转移】是和【选择】形影不离的,做出【选择】后自然迎来【状态变化】,那么在此问题中【选择】就是“买入”或“卖出”股票或者“观望(不买也不卖)”
下面贴上顺藤摸瓜的思路:在这里插入图片描述

顺着这样的思路便可将股票系列问题一网打尽。

下面再贴上股票系列问题(K=2)的代码:

class Solution {
public:int maxProfit(vector<int>& prices) {int n=prices.size(),K=2;if(n==0)return 0;vector<vector<vector<int> > >dp(n,vector<vector<int> >((K+1),vector<int>(2)));for(int i=0;i<n;i++){for(int k=2;k>=1;k--){if(i-1==-1){dp[i][k][0]=0;dp[i][k][1]=-prices[i];continue;}dp[i][k][0]=max(dp[i-1][k][0],dp[i-1][k][1]+prices[i]);dp[i][k][1]=max(dp[i-1][k][1],dp[i-1][k-1][0]-prices[i]);//这里着重说一下dp[i-1][k-1][0]是怎么来的,注意我们在写代码之前//一定要清楚dp数组的含义,这里我们的dp[i][K][0]是指第i天,//总共交易次数为K且未持有股票,那么因为我们定义买入时操作算一次//交易,所以在dp[i][k][1]=max(dp[i-1][k][1],dp[i-1][k-1][0]-prices[i]);//这次状态变化中,这一天的持有股票状态若由前一天未持有而今天//又买入转化而来,则说明今天一定是进行了一次交易,而到今天为止//允许的最大交易次数为K,那么昨天允许的最大交易次数就一定为k-1(因为今天进行了一次交易,所以必须必昨天多一次交易机会)}}return dp[n-1][K][0];}
};

这里还要注意状态转移方程写好后,接下来就是穷举所有状态(所以这道题目中多加了一个for循环来穷举K,否则就睡得到错误的解答)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33792.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于qstock的量化复盘与自动盯盘

01 引言 qstock量化分析库和教程自发布以来已经有一段时间了。收到不少读者的反馈&#xff0c;希望在qstock上添加更多的实用功能和案例研究。在回应这些反馈的同时&#xff0c;公众号也一直在努力改进现有的功能和教程内容。我们的目标是为用户提供更全面、更实用、更易于理解…

腾讯 Angel Graph 图计算框架在智能风控中的应用

本文约6800字&#xff0c;建议阅读15分钟 本文为你分享腾讯的姜亚松老师的图计算框架Angel Graph。 [ 导读 ] 图计算在智能风控场景有着广泛的应用&#xff0c;但是图的规模和计算的复杂度往往会制约落地的使用&#xff0c;目前各家机构都开展了图计算框架的自研&#xff0c;来…

金融风控数据分析

一、信贷底层库表详解与数据集市构建 1.信贷业务底层数据核心库表穿透式详解 1&#xff09;客户信息表结构与数据&#xff08;customer_info&#xff09; 客户信息表是根据客户在前端申请信贷产品时主动填写的信息收集的&#xff0c;部分可验证字段可直接用于风控规则&#…

python金融风控评分卡模型和数据分析(加强版)

在公众号「python风控模型」里回复关键字&#xff1a;学习资料 扣扣学习群&#xff1a;1026993837 领学习资料 金融风控模型和数据分析很难&#xff1f;逻辑回归评分卡/catboost/xgboost/lightgbm/等模型用python一次全部搞定&#xff01;增加数据分析和数据可视化实战&#xf…

python金融风控评分卡模型和数据分析(加强版)-收藏

信用评分卡 信用评分是指根据银行客户的各种历史信用资料&#xff0c;利用一定的信用评分模型&#xff0c;得到不同等级的信用分数&#xff0c;根据客户的信用分数&#xff0c;授信者可以通过分析客户按时还款的可能性&#xff0c;据此决定是否给予授信以及授信的额度和利率。 …

风控建模一、初步认识风控

风险控制&#xff08;Risk Control)&#xff0c;简称风控&#xff0c;是互联网金融的核心。 一、基础知识 1.1 A/B/C卡 A卡&#xff08;Application score card&#xff09;即申请评分模型&#xff08;贷款前&#xff09;&#xff0c;用于预测申请时点&#xff08;申请信用卡…

全面了解风控指标体系

说明 风险管理主要分为四大部分&#xff1a;风险识别、风险分析、风险监控、风险应对。而在量化风险管理的今天&#xff0c;这四个风控部分全都离不开风险指标的梳理、判断、追踪。在信贷业务中&#xff0c;常见贷款流程为&#xff1a;**申请>审批>签约放款>贷后管理…

风控报表体系建设与风控指标

文章目录 风控报表体系建设贷中&#xff1a;监控贷中&#xff1a;资产质量报表贷后&#xff1a;审批监控贷后&#xff1a;拒绝原因分布贷后&#xff1a;用户特征监控贷后&#xff1a;模型监控催收业绩表催收效率表一、应收账款(含销账)(Account Receivable, AR)二、期末贷款余额…

风控模型评估方法以及大数据风控模型概念

更新一下有效性指标中的区分能力指标&#xff1a; KS(Kolmogorov-Smirnov)&#xff1a;KS用于模型风险区分能力进行评估&#xff0c;指标衡量的是好坏样本累计分部之间的差值。好坏样本累计差异越大&#xff0c;KS指标越大&#xff0c;那么模型的风险区分能力越强。 KS的计算步…

风控评分模型

一 概述 余额支付的风险识别模型分为两类&#xff1a;&#xff08;1&#xff09;盗号交易识别风险 和 &#xff08;2&#xff09;盗卡交易识别风险。其中盗卡交易识别风险和余额有关主要是由于骗子注册号码帮盗来的卡&#xff0c;然后进行充值到余额&#xff0c;通过余额支付销…

惊艳!AI创意字体真绝了;6道AIGC高频面试题与解答;为啥语音助手还没集成LLM;深度学习算法红宝书 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 惊艳&#xff01;手把手教你使用 Stable Diffusion 制作AI创意字体 最近AI创意字体刷爆了 ShowMeAI 社群&#xff01;伙伴们纷纷惊叹这…

qt无法显示图片的原因

qt无法显示图片&#xff1a; 原因&#xff1a; 1.检查图片路径&#xff0c;将图片路径改为全路径 如图片路径单为./jpg时&#xff0c;找不到图片&#xff0c;为全路径时可以找到 2.检查图片格式&#xff0c;不要乱改图片的后缀&#xff08;如1.jpg改成1.png&#xff09;&#…

关于Chrome不显示图片的问题

chrome图片不显示的解决方案 如果 你的IE和火狐浏览器可以正常显示图片&#xff0c;但是唯独谷歌浏览器无法显示图片&#xff0c;并且右键在新窗口中打开图片也是没有问题的。主要原因是因为你的图片链接不是https协议&#xff0c;被浏览器认为是不安全的&#xff0c;所以被浏览…

谷歌浏览器csdn图片无法显示

前排提示&#xff0c;博客中的图片不显示&#xff0c;但是同样的连接放到其他浏览器比如Microsoft Edge应该就能正常显示&#xff0c;文章中有一些步骤截图&#xff0c;请将该文章链接拷贝到其他浏览器查看图片。 看了很多博客的方案都没有解决&#xff0c;综合一下我的解决方…

解决图片不显示的问题

我的副业&#xff1a;觉得我的文章写得不错就支持一下我的副业吧 手机卡、流量卡领取&#xff1a;https://lsqstudy.github.io/post/d76a15aa112345.html 阅读导航 跳转到总目录 解决步骤 1、下载所有图片 链接&#xff1a;https://pan.baidu.com/s/1Q3Xw2GLCX_1ZavS6hIjwKg 提…

ImageWatch无法显示图像

问题描述&#xff1a; 最近遇到一个问题&#xff0c;VS里用来查看Opencv图像的ImageWatch插件&#xff0c;一直显示invalid&#xff0c;如下图&#xff1a; 无效尝试&#xff1a; 重装过ImageWatch插件&#xff0c;没用&#xff0c;Release和Debug都无法查看&#xff0c;最后…

解决im.show()不能显示图片问题

在Python中有一个很有用的图像处理插件&#xff1a;PIL(Python Imageing Library)&#xff0c;PIL目前版本为1.1.7&#xff0c;在PIL处理图像的时候&#xff0c;有时show()一下图片&#xff0c;发现如下&#xff1a; 图(1)无法显示图片 出现该问题的原因如下&#xff1a; 解决…

html无法显示图片解决方法

规范书写 无论你采用服务器调用还是浏览器都要使用相对路径&#xff0c;不然代码迁移很麻烦 相对路径同目录下直接使用文件名 例如下面这种情况index.html 使用img标签可以直接这样写 <img src"firefox-icon.jpg" alt"firefox-icon">低级目录向高…

电脑PC微信头像和图片不能显示出来?

电脑PC微信头像和图片不能显示出来&#xff1f; 最近电脑微信更新了以后&#xff0c;微信头像和图片不能显示出来 小编百度了很多&#xff0c;试了删除缓存&#xff0c;更改网络代理等都不行&#xff0c;最后在一个一个知乎上找到一个解决方式&#xff0c; 具体步骤&#xff1…