Leetcode--309. 最佳买卖股票时机含冷冻期

给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​

设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):

你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。
示例:

输入: [1,2,3,0,2]
输出: 3 
解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]

思路:与之前的股票题大致相同,加了冷冻期

冷冻期出现在刚刚卖掉股票之后无法立即买入,所以只影响dp[i][1]的状态

dp[i][1]=Math.max(dp[i-1][1], dp[i-2][0]-prices[i]);

将dp[i][1]的影响因素由一台前无股票状态改为两天前无股票状态

提交的代码:

class Solution {

    public int maxProfit(int[] prices) {

       if(prices.length==0)

        {

            return 0;

        }

        int dp[][] = new int[prices.length][2];

        dp[0][0] = 0;

        dp[0][1] = -prices[0];

        for(int i=1;i<prices.length;i++)

        {

            if(i == 1)

            {

                dp[1][0] = Math.max(dp[0][0],dp[0][1]+prices[i]);

                dp[1][1] = Math.max(dp[0][1], dp[0][0]- prices[i]);

                continue;

            }

            dp[i][0] = Math.max(dp[i-1][0], dp[i-1][1]+prices[i]);

            dp[i][1]=Math.max(dp[i-1][1], dp[i-2][0]-prices[i]);

    

        }

        return dp[prices.length-1][0];

    }

}

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

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

相关文章

2018.8.2 Juint测试介绍及其命名的规范

JUnit - 测试框架 什么是 Junit 测试框架&#xff1f; JUnit 是一个回归测试框架&#xff0c;被开发者用于实施对应用程序的单元测试&#xff0c;加快程序编制速度&#xff0c;同时提高编码的质量。JUnit 测试框架能够轻松完成以下任意两种结合&#xff1a;Eclipse 集成开发环境…

Leetcode--448. 找到所有数组中消失的数字

给定一个范围在 1 ≤ a[i] ≤ n ( n 数组大小 ) 的 整型数组&#xff0c;数组中的元素一些出现了两次&#xff0c;另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回…

html中如何让字段闪烁,Javascript结合CSS实现边框闪烁提示

Javascript结合CSS实现边框闪烁提示2017-09-01 23:12当我们提交表单的时候&#xff0c;有些字段是必填的。但是如果用户提交的时候偏偏不填写就提交&#xff0c;这时我们一般都会弹出一个框来提醒用户。但是有些小伙伴并不喜欢使用弹窗&#xff0c;觉得用户体验不好。今天就有小…

统计学权威盘点过去50年最重要的统计学思想,因果推理、bootstrap等上榜,Judea Pearl点赞...

来源&#xff1a;AI科技评论作者&#xff1a;陈彩娴、Mr Bear编辑&#xff1a;青暮近日&#xff0c;图灵奖得主、“贝叶斯网络之父”Judea Pearl在Twitter上分享了一篇新论文“What are the most important statistical ideas of the past 50 years?”&#xff08;过去50年中最…

自研芯片鸿蒙系统,华为智慧屏:自研智慧芯片鸿蒙系统 9月发布

7月26日消息 今日&#xff0c;华为在深圳举办媒体沟通会。华为消费者业务CEO余承东公布了华为智慧屏战略。华为全场景智慧化战略采用“18N”三圈层结构&#xff0c;覆盖家庭、办公、车载与运动四大场景&#xff0c;并以手机带动平板、PC、音箱、耳机等8个辅入口及更多外围生态设…

js下载文件

HTML与文件下载 如果希望在前端直接出发某些资源的下载&#xff0c;最方便快捷的方法就是使用HTML5原生的download属性&#xff0c; 例如&#xff1a; <a href"large.jpg" download>下载</a> 但显然&#xff0c;如果纯粹利用HTML属性来实现文件的下载&am…

二十世纪的十大科学骗局

来源&#xff1a;扬子晚报一般来说科学本是最讲求真实性的&#xff0c;但近些年来所谓轰动一时的科学“成果”中&#xff0c;却颇多假冒伪劣产品。1、百慕大“死亡三角”在众多科学骗局中&#xff0c;“百慕大”传说是影响最大且流传最广的一例&#xff0c;但它的起因只是第二次…

html 文本框 初始化,Flutter 文本框初始化时显示默认值

刚开始作Flutter文本框时候&#xff0c;使用的是TextField。彷佛大多数状况下都没有问题。代码形式以下&#xff1a;htmlclass _FooState extends State {TextEditingController _controller;overridevoid initState() {super.initState();_controller new TextEditingControl…

request.getAttribute()的数据类型转换问题

request.getAttribute("")返回的是object类型 int amount (int)request.getAttribute("buyamount"); 这种的转换方式一直会报错&#xff0c;需要强制解封装&#xff1a; int amount Integer.parseInt(request.getAttribute("buyamount").toS…

02_常用正则表达式

一、校验数字的表达式 1 数字&#xff1a;^[0-9]*$2 n位的数字&#xff1a;^\d{n}$3 至少n位的数字&#xff1a;^\d{n,}$4 m-n位的数字&#xff1a;^\d{m,n}$5 零和非零开头的数字&#xff1a;^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字&#xff1a;^([1-9][0-9]*)(.[…

复杂性系统面临的难题

来源&#xff1a;人机与认知实验室1 什么是复杂性目前无法表述清楚在汉语中“复杂”一词的意思为“事物的种类、头绪等多而杂”。在《朗文当代英语词典》中&#xff0c;形容词complex被解释为&#xff1a;(1)难于理解、解释或处理&#xff0c;不清楚或不简单&#xff1b; (2)由…

MySQL优化(2)--------常用优化

前言 之前已经简单介绍了MySQL的优化步骤&#xff0c;那么接下来自然而是就是常用的SQL优化&#xff0c;比如inseer、group by等常用SQL的优化&#xff0c;会涉及SQL语句内部细节&#xff08;这正是我缺乏的&#xff09;。最后希望自己能记录完成的一套MySQL优化博文&#xff0…

码元,波特,速率,带宽

码元&#xff1a;一个固定时长的信号波形&#xff0c;代表不同离散数值的基本波形 1码元可以携带多个比特的信息量 例如&#xff1a;下图就称为二进制码元&#xff0c;因为只有两种状态&#xff0c;一种代表0状态&#xff0c;一种代表1状态 还有其他进制码元 时长称为码元宽…

大爆炸之前的宇宙是什么样子?|赠书

来源&#xff1a;科研圈宇宙蛋难题古代的创世神话往往表现出奇妙的独创性&#xff0c;但是追根究底&#xff0c;它们只有两个基本的选择&#xff1a;宇宙要么是在有限的时间以前被创造的&#xff0c;要么就是永恒存在的。以下是神圣的印度教经文《奥义书》中描述的场景&#xf…

js获取html样式属性,js怎么获取指定css属性的值?

js怎么获取指定css属性的值&#xff1f;下面本篇文章给大家介绍一下。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。js怎么获取指定css属性的值&#xff1f;1、通过dom.style.属性 来获取但是这种方法无法获取id、class里的属性例子:…

页面某个模块的文字内容是动态的,可能是几个字,也可能是一句话。然 后,希望文字少的时候居中显示,文字超过一行的时候居左显示。该如何实现?...

text-align属性只能在内联元素<!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>Document</title> <style> .box { padding: 10px; background-color: #cd0000; text-align: center; width:…

奈氏准则,香农定理

失真 现实中的信道(带宽受限&#xff0c;有噪声&#xff0c;干扰)&#xff0c;导致一些信号发生问题 影响失真的因素&#xff1a; 码元传输速率&#xff08;越快&#xff0c;失真越严重&#xff09; 信号传输距离&#xff08;越远越严重&#xff09; 噪声干扰 传输媒体质…

IBM中国研究院被曝已全面关闭

来源&#xff1a;AI科技评论作者&#xff1a;青暮AI科技评论最新消息&#xff0c;网传IBM中国研究院&#xff08;IBM CRL&#xff09;已经全面关闭。AI科技评论求证圈内权威人士&#xff0c;其表示消息大概率属实。IBM研究院是IBM公司的一个&#xff08;研究&#xff09;部门&a…

库存商品表html源码,JSP+Servlet+数据库的方式完成一个简易的库存商品管理系统...

【实例简介】JSPServlet数据库的方式完成一个简易的库存商品管理系统【实例截图】【核心代码】f48fd612-281d-454e-97d3-20c8f775879f└── Product├── ProductManageSystem│ ├── src│ │ └── com│ │ └── qbsp│ │ ├── servlet│ │ │…

图形化安装配置:安装oracle、新建数据库、用plsql连接oracle,套路明白了其实挺简单...

1&#xff1a;安装oracle。 我的安装路径是c:\app&#xff0c;那oracle_home就是&#xff1a;C:\app\guestAdmin\product\11.2.0\dbhome_1。 装完后菜单在这里&#xff1a; 2&#xff1a;创建数据库his&#xff0c;注意&#xff1a;oracle的每个数据库&#xff0c;都是一个服务…