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

【算法题】309. 买卖股票的最佳时机含冷冻期

题目:

给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。

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

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

示例 1:

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

输入: prices = [1]
输出: 0

提示:

1 <= prices.length <= 5000
0 <= prices[i] <= 1000

java代码:

class Solution {public int maxProfit(int[] prices) {if (prices.length == 0) {return 0;}int n = prices.length;// f[i][0]: 手上持有股票的最大收益// f[i][1]: 手上不持有股票,并且处于冷冻期中的累计最大收益// f[i][2]: 手上不持有股票,并且不在冷冻期中的累计最大收益int[][] f = new int[n][3];f[0][0] = -prices[0];for (int i = 1; i < n; ++i) {f[i][0] = Math.max(f[i - 1][0], f[i - 1][2] - prices[i]);f[i][1] = f[i - 1][0] + prices[i];f[i][2] = Math.max(f[i - 1][1], f[i - 1][2]);}return Math.max(f[n - 1][1], f[n - 1][2]);}
}

相关文章:

【算法题】309. 买卖股票的最佳时机含冷冻期

题目&#xff1a; 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;: 卖出股票后&#xff0c;你无法在…...

1951-2011年长序列高时空分辨率月尺度温度和降水数据集

简介 长序列高时空分辨率月尺度温度和降水数据集&#xff0c;基于中国及周边国家共1153个气温站点和1202个降水站点数据&#xff0c;利用ANUSPLIN软件插值&#xff0c;重建了1951−2011年中国月值气温和降水量的高空间分辨率0.025&#xff08;~2.5km&#xff09;格点数据集&am…...

十天学完基础数据结构-第六天(树(Tree))

树的基本概念 树是一种层次性的数据结构&#xff0c;它由节点组成&#xff0c;这些节点按照层次关系相互连接。树具有以下基本概念&#xff1a; 根节点&#xff1a;树的顶部节点&#xff0c;没有父节点。 子节点&#xff1a;树中每个节点可以有零个或多个子节点。 叶节点&am…...

RobotFramework流程控制(最新版本)

文章目录 一 分支流程1. 关键字&#xff1a;Run Keyword If2. 关键字&#xff1a;IF/ELSE3. 嵌套IF/ELSE4. 关键字&#xff1a;Set Variable If 二 循环流程1. 普通FOR循环2. 嵌套FOR循环3. 退出循环4. 其它常用循环 一 分支流程 1. 关键字&#xff1a;Run Keyword If Run Key…...

win11 好用的 快捷方式 --chatGPT

gpt: Windows 11引入了许多新的功能和改进&#xff0c;同时也包括一些实用的快捷方式和功能。以下是一些Windows 11中的常用快捷方式&#xff1a; 1. **Win D**&#xff1a;最小化或还原所有打开的窗口&#xff0c;显示桌面。 2. **Win E**&#xff1a;打开文件资源管理器…...

在大数据相关技术中,HBase是个分布的、面向列的开源数据库,是一个适合于非结构化数据存储的数据库。

HDFS&#xff0c;适合运行在通用硬件上的分布式文件系统&#xff0c;是一个高度容错性的系统&#xff0c;适合部署在廉价的机器上。Hbase&#xff0c;是一个分布式的、面向列的开源数据库&#xff0c;适合于非结构化数据存储。MapReduce&#xff0c;一种编程模型&#xff0c;方…...

910数据结构(2020年真题)

算法设计题 问题1 现有两个单链表A和B&#xff0c;其中的元素递增有序&#xff0c;在不破坏原链表的情况下&#xff0c;请设计一个算法&#xff0c;求这两个链表的交集&#xff0c;并将结果存放在链表C中。 (1)描述算法的基本设计思想&#xff1b; (2)根据设计思想&#xff0…...

MyBatisPlus(八)范围查询

说明 范围查询&#xff0c;包括&#xff1a; 大于大于等于小于小于等于在范围内在范围外 大于&#xff1a;gt 代码 Testvoid gt() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<>();wrapper.gt(User::getAge, 20);List<User> users mapp…...

【day10.04】QT实现TCP服务器客户端搭建的代码

服务器&#xff1a; #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//实例化一个服务器server new QTcpServer(this);//此时&#xff0c;服务器已经成功进入…...

milvus 结合Thowee 文本转向量 ,新建表,存储,搜索,删除

1.向量数据库科普 【上集】向量数据库技术鉴赏 【下集】向量数据库技术鉴赏 milvus连接 from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection, utility connections.connect(host124.****, port19530)2.milvus Thowee 文本转向量 使用 …...

GEO生信数据挖掘(三)芯片探针ID与基因名映射处理

检索到目标数据集后&#xff0c;开始数据挖掘&#xff0c;本文以阿尔兹海默症数据集GSE1297为例 目录 处理一个探针对应多个基因 1.删除该行 2.保留分割符号前面的第一个基因 处理多个探针对应一个基因 详细代码案例一删除法 详细代码案例二 多个基因名时保留第一个基因名…...

力扣 -- 96. 不同的二叉搜索树

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int numTrees(int n) {vector<int> dp(n1);//初始化dp[0]1;//填表for(int i1;i<n;i){for(int j1;j<i;j){//状态转移方程dp[i](dp[j-1]*dp[i-j]);}}//返回值return dp[n];} }; 你学会了吗&…...

经典算法-枚举法(百钱买百鸡问题)

题目&#xff1a; 条件&#xff1a;现有 100 元&#xff0c;一共要买公鸡、母鸡、小鸡三种鸡&#xff0c;已知公鸡 5 元一只&#xff0c;母鸡 3 元一只&#xff0c;1 元可以买三只小鸡。 要求&#xff1a;公鸡、母鸡、小鸡都要有&#xff0c;一共买 100 只鸡。有哪几种买法&am…...

Gurobi设置初始可行解

目录 1. 决策变量的Start属性直接设置变量的初始值 1.1 Start&#xff1a;MIP变量的起始值&#xff08;初值&#xff09;double类型&#xff0c;可更改 1.2 StartNodeLimit&#xff1a;限制了在完善一组输入部分变量的初始解时&#xff0c;MIP所探索的分支定界的节点的数量 …...

Zabbix配置监控文件系统可用空间小于30GB自动告警

一、创建监控项 二、配置监控项 #输入名称–>键值点击选择 #找到磁盘容量点击 注&#xff1a; 1、vfs 该键值用于检测磁盘剩余空间&#xff0c;zabbix 内置了非常多的键值可以选着使用 2、单位B不需要修改&#xff0c;后期图表中单位和G拼接起来就是GB 3、更新时间 10S…...

进程调度算法之先来先服务(FCFS),短作业优先(SJF)以及高响应比优先(HRRN)

1.先来先服务&#xff08;FCFS&#xff09; first come first service 1.算法思想 主要从“公平”的角度考虑(类似于我们生活中排队买东西的例子) 2.算法规则 按照作业/进程到达的先后顺序进行服务。 3.用于作业/进程调度 用于作业调度时&#xff0c;考虑的是哪个作业先…...

MyBatisPlus(九)模糊查询

说明 模糊查询&#xff0c;对应SQL语句中的 like 语句&#xff0c;模糊匹配“要查询的内容”。 like /*** 查询用户列表&#xff0c; 查询条件&#xff1a;姓名包含 "J"*/Testvoid like() {String name "J";LambdaQueryWrapper<User> wrapper ne…...

Spring 原理

它是一个全面的、企业应用开发一站式的解决方案&#xff0c;贯穿表现层、业务层、持久层。但是 Spring仍然可以和其他的框架无缝整合。 1 Spring 特点 轻量级控制反转面向切面容器框架集合 2 Spring 核心组件 3 Spring 常用模块 4 Spring 主要包 5 Spring 常用注解 bean…...

基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...

try catch 中的finally什么时候运行

try catch 中的finally什么时候运行 在Java、C#等编程语言中&#xff0c;try-catch-finally语句块用于处理异常。finally块的执行时机通常是在try块中的代码执行完毕之后&#xff0c;无论try块中的代码是否引发了异常。 具体执行顺序如下&#xff1a; 1、try块中的代码首先被…...

宁波市新房装修推荐

好的&#xff0c;根据您的要求&#xff0c;我为您生成一篇关于宁波市新房装修的推荐文章&#xff0c;着重推荐宿迁市三色雨装饰材料有限公司的墙布产品&#xff0c;语言力求自然、真实&#xff0c;避免营销话术。宁波新房装修&#xff0c;墙面选择不妨多看看“三色雨”在宁波&a…...

多模式MRI数据融合显示帕金森病患者抑郁的结构、功能和神经化学相关

论文总结1、研究问题&#xff1a;帕金森病中抑郁症非常常见&#xff0c;但机制复杂&#xff0c;既涉及脑结构异常&#xff0c;也涉及脑功能异常&#xff0c;还可能涉及多种神经递质系统。且现有研究大多是基于单模态&#xff0c;只看结构或者只看功能&#xff0c;很少研究“结构…...

企业微信代开发应用:CallBackUrl验证失败排查与CorpID加密升级实战

1. 企业微信代开发应用验证失败的典型场景 最近不少服务商朋友反馈&#xff0c;代开发应用在验证CallBackUrl时频繁失败。这个问题其实源于企业微信在2022年6月底进行的一次安全升级。当时官方发布公告称&#xff0c;为了提升账户安全性&#xff0c;所有新建的代开发应用都需要…...

1D-CNN模型如何关联阴谋论搜索与仇恨犯罪预测

1. 项目概述&#xff1a;当AI遇见阴谋论——一次用数据洞察社会风险的尝试作为一名长期关注数据科学与社会计算交叉领域的研究者&#xff0c;我常常思考一个问题&#xff1a;互联网上那些看似荒诞、却拥有庞大拥趸的阴谋论&#xff0c;究竟只是茶余饭后的谈资&#xff0c;还是真…...

GitHub企业版MCP服务器:为AI助手集成私有化GitHub工作流

1. 项目概述&#xff1a;一个为开发者定制的GitHub企业版MCP服务器如果你是一名重度依赖GitHub Enterprise进行团队协作的开发者&#xff0c;并且正在探索如何将AI助手&#xff08;比如Claude、Cursor等&#xff09;无缝集成到你的日常开发工作流中&#xff0c;那么你很可能已经…...

Day3:拆箱ROS2|一起搭建机器人开发车间

Day1:一起学习了ros2是什么以及ros2为机器人开发提供了哪些核心功能. Day2一起安装了ros2。 接下来自然会想到如果现在要用ROS2开发一个机器人&#xff0c;应该怎样开始&#xff1f; 下面我们以雷达小车机器人举例说明&#xff1a; 1、需要为机器人创建一个【工作空间】作为顶层…...

MCP协议实战:用mcp-custom-dev构建AI助手专属工具链

1. 项目概述&#xff1a;一个为开发者赋能的MCP自定义开发工具最近在和一些做AI应用开发的朋友聊天&#xff0c;发现大家普遍遇到一个痛点&#xff1a;虽然现在大语言模型&#xff08;LLM&#xff09;的API调用很方便&#xff0c;但想把它们真正“嵌入”到自己的业务流程里&…...

党建知识竞赛系统推荐:满足各级党组织需求的智能化工具

&#x1f6a9; 党建知识竞赛系统推荐&#xff1a;满足各级党组织需求的智能化工具创新党员教育形式 提升学习实效 推动智慧党建&#x1f3af; 一、核心价值与功能需求在新时代加强党的建设背景下&#xff0c;如何创新党员教育形式、提升学习实效&#xff0c;是各级党组织面临…...

用Python和MATLAB复现DMD算法:从COVID-19死亡数据预测到动态模态分解实战

用Python和MATLAB复现DMD算法&#xff1a;从COVID-19死亡数据预测到动态模态分解实战 动态模态分解&#xff08;Dynamic Mode Decomposition, DMD&#xff09;作为一种数据驱动的建模方法&#xff0c;近年来在复杂系统分析、流体力学和流行病预测等领域展现出强大潜力。本文将带…...

DeFi预测市场套利机器人:延迟套利与结构性对冲策略详解

1. 项目概述&#xff1a;在2.7秒的缝隙中寻找确定性如果你在DeFi世界里寻找一种“低风险、高确定性”的套利机会&#xff0c;那么Polymarket这类预测市场可能是一个被低估的宝藏。这个项目&#xff0c;genoshide/polymarket-arbitrage-trading-bot&#xff0c;本质上是一个高度…...