当前位置: 首页 > news >正文

南美洲网站后缀如何进行网站网站调试

南美洲网站后缀,如何进行网站网站调试,惠州网站建设教程,中国咨询公司文章目录 题目链接#xff1a;题目描述#xff1a;解题思路一#xff08;贪心算法#xff09;#xff1a;解体思路二#xff08;动态规划#xff09;#xff1a; 题目链接#xff1a; 122.买卖股票的最佳时机II 题目描述#xff1a; 解题思路一#xff08;贪心算法… 文章目录 题目链接题目描述解题思路一贪心算法解体思路二动态规划 题目链接 122.买卖股票的最佳时机II 题目描述 解题思路一贪心算法 本问题可以通过贪心算法解决。我们可以将问题分解为一系列连续的上涨子序列并在每个上涨子序列中计算利润并将其累加到最终的结果中。具体的做法是 贪心算法的核心思想对于每个上升的子序列我们希望在价格上涨时不断买入价格下跌时卖出。连续上升子序列在遍历股票价格的过程中如果当前价格小于下一天的价格说明价格在上涨应该继续持有股票如果当前价格大于或等于下一天的价格说明我们已经遇到了一个下降的趋势在此时卖出计算当前区间的利润。利润计算每次找到一个上涨子序列时我们就将该子序列的利润即当前价格减去子序列的起始价格累加到总利润中。 复杂度分析 时间复杂度O(N)空间复杂度O(1) 代码实现方式一 找到每一个连续递增子序列将其差值作为利润记录到总利润中 class Solution { public:int maxProfit(vectorint prices) {int p1 0;int p2 0;int res 0;int n prices.size();while(p2n-1){if(prices[p2] prices[p21]){p2;continue;}else{res res (prices[p2]-prices[p1]);p2;p1p2;}}return res(prices[p2]-prices[p1]);} };代码实现方式2 每次遍历数组比较相邻的价格即 prices[i] 和 prices[i1]如果 prices[i1] prices[i]则说明价格上涨可以在今天买入明天卖出获得的利润是 prices[i1] - prices[i]。如果 prices[i1] prices[i]则不进行操作不获得任何利润。 利用 max(0, prices[i1] - prices[i]) 确保当价格下降时不加入负的利润。本质上与第一种方式一致但是这种实现方式更简洁 class Solution { public:int maxProfit(vectorint prices) {int n prices.size();int res 0;for(int i0; in-1; i){res max(0, prices[i1]-prices[i]);}return res;} };解体思路二动态规划 由于题目中要求在任何时候手里最多只有一支股票因此在每天交易完成后只可能手里有一支股票或者没有股票的状态 我们可以定义 dp[i][0] : 表示第i天交易完成后手里没有股票的最大利润i从0开始dp[i][1] : 表示第i天交易完成后手里持有一支股票的最大利润i从0开始 因此dp[i][0] 的转移方程如果这一天交易完成后手里没有股票那么可能的状态转移为前一天已经没有股票了即 dp[i-1][0],或者前一天结束的时候手里有一支股票即dp[i-1][1]这时候我们要将其卖出并获得prices[i]收益。因此为了利益最大化我们的状态转移方程 d p [ i ] [ 0 ] max ⁡ ( d p [ i − 1 ] [ 0 ] , d p [ i − 1 ] [ 1 ] p r i c e s [ i ] ) dp[i][0] \max \left( dp[i-1][0], dp[i-1][1] prices[i] \right) dp[i][0]max(dp[i−1][0],dp[i−1][1]prices[i]) 再来考虑dp[i][1]如果转移状态前一天已经持有一支股票。即dp[i-1][1]或者前一天结束的时候手里没有股票即dp[i-1][0]这时候我们要将其买入并减少prices[i]的收益。可以列出状态转移方程 d p [ i ] [ 1 ] max ⁡ ( d p [ i − 1 ] [ 0 ] − p r i c e s [ i ] , d p [ i − 1 ] [ 1 ] ) dp[i][1] \max \left( dp[i-1][0] - prices[i], dp[i-1][1] \right) dp[i][1]max(dp[i−1][0]−prices[i],dp[i−1][1]) 对于初始状态我们直到在第0天交易结束的时候 dp[0][0] 0dp[0][1] -prices[0] 代码实现 class Solution { public:int maxProfit(vectorint prices) {int n prices.size();int dp[n][2];dp[0][0] 0;dp[0][1] -prices[0];for(int i1; in; i){dp[i][0] max(dp[i-1][0], dp[i-1][1]prices[i]);dp[i][1] max(dp[i-1][0]-prices[i], dp[i-1][1]);}return dp[n-1][0];} };动态规划解析参考 https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/solutions/476791/mai-mai-gu-piao-de-zui-jia-shi-ji-ii-by-leetcode-s/?envTypestudy-plan-v2envIdtop-interview-150
http://www.hkea.cn/news/14566541/

相关文章:

  • 深圳企业网站制作设计方案古田路9号设计网站
  • 制作网站的登录界面怎么做我制作了一个网站
  • 海口网站建设中心公司官网网站如何建立
  • 太平洋建设集团招标网站做视频网站把视频放在哪里找
  • 株洲做网站渠道电话网站设计红色表示什么
  • 怎么发布个人网站有没有在线做动图的网站
  • 用dw做旅游的网站的设计大学做网站有哪些
  • 网站制作一薇苏州网站建设书生
  • 杭州做肉松饼的网站有多少家建设网站的五个步骤是
  • 如何建设红色旅游网站gudao网站建设
  • 网站微信分享链接怎么做的企业网络组建
  • 图书类网站建设策划书开源中国
  • 域名和网站空间相互做解析软件开发哪家公司好
  • 网站设计公司 龙岗北京网站改版哪家好
  • jsp网站开发实例标题栏票务网站策划书
  • 如何建设淘宝网站首页网页制作软件中的三剑客是指
  • 墨客网站建设xcyxqc公司请人做的网站打不开
  • 网站报价表怎么做建设银行网站怎么修改手机号码
  • 高端网站制作建设西安市建设网站
  • 家庭农场网站建设django wordpress
  • 网站建设黄页软件在线ui设计
  • 哪个网站做视频有钱挣做网站标题图片大小
  • 上海做网站收费太原网站建设找山西云起时
  • 做统计表的网站小程序一般用什么语言开发
  • 如何做网站地图文汇智能建站平台
  • html5网站制作教程做系统哪个网站好
  • 国外网站建设素材专业网站设计企业
  • 东莞网站设计开发技能大赛佛山做外贸网站的公司
  • 中国电子系统建设公司网站网站应当实现那些功能 流程如何设计
  • 个体做外贸的网站手机百度云网页版登录