188.买卖股票的最佳时机IV

题目

在这里插入图片描述

思路与解法

基于 买卖股票的最佳时机iii,得出的解法。关键在于,每一天的卖或者买都由前一天推导而来。

class Solution {
public:int maxProfit(int k, vector<int>& prices) {if(prices.size() == 0) return 0;vector<vector<int>> dp(prices.size(), vector<int>(2*k+1, 0));for(int j=1;j<2*k;j+=2){dp[0][j] = -prices[0];}for(int i=1;i<prices.size();i++){for(int j=0;j<2*k - 1;j+=2){dp[i][j+1] = max(dp[i-1][j+1], dp[i-1][j] - prices[i]);dp[i][j+2] = max(dp[i-1][j+2], dp[i-1][j+1] + prices[i]);}}return dp[prices.size() -1 ][2*k];}
};

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

题目

在这里插入图片描述

思路与解法

class Solution {
public:int maxProfit(vector<int>& prices) {int n = prices.size();if (n == 0) return 0;// dp数组含义://  dp[i][0]: 保持股票 //  dp[i][1]: 不持有,保持已卖出股票//  dp[i][2]: 卖出股票//  dp[i][3]: 冷冻期vector<vector<int>> dp(n, vector<int>(4, 0));dp[0][0] -= prices[0]; // 持股票for (int i = 1; i < n; i++) {dp[i][0] = max(dp[i - 1][0], max(dp[i - 1][3] - prices[i], dp[i - 1][1] - prices[i])); // 今天是保持股票状态,昨天可能是三种情况,0 1 3dp[i][1] = max(dp[i - 1][1], dp[i - 1][3]);dp[i][2] = dp[i - 1][0] + prices[i];dp[i][3] = dp[i - 1][2];}return max(dp[n - 1][3], max(dp[n - 1][1], dp[n - 1][2]));}
};

714. 买卖股票的最佳时机含手续费

题目

在这里插入图片描述

思路与解法

和122很想,几乎没差别,只是多了一个扣费。

class Solution {
public:int maxProfit(vector<int>& prices, int fee) {// dp数组含义://  dp[i][0]:第i天,持有股票时的最大价值,dp[i][1]:第i天,不持有股票时的最大价值vector<vector<int>> dp(prices.size(), vector<int>{0,0});dp[0][0] = -prices[0] - fee;dp[0][1] = 0;// 先遍历日子再遍历是否持有for(int i=1;i<prices.size();i++){dp[i][0] = max(dp[i-1][0], dp[i-1][1]-prices[i] - fee);dp[i][1] = max(dp[i-1][0]+prices[i], dp[i-1][1]);}return max(dp[prices.size()-1][0],dp[prices.size()-1][1] );}
};

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

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

相关文章

【AI News | 20250623】每日AI进展

AI Repos 1、tools Strands Agents Tools提供了一个强大的模型驱动方法&#xff0c;通过少量代码即可构建AI Agent。它提供了一系列即用型工具&#xff0c;弥合了大型语言模型与实际应用之间的鸿沟&#xff0c;涵盖文件操作、Shell集成、内存管理&#xff08;支持Mem0和Amazon…

Python装饰器decorators和pytest夹具fixture详解和使用

此前一直认为fixture就叫python中的装饰器&#xff0c;学习后才发现decorators才是装饰器&#xff0c;fixture是pytest框架的夹具&#xff0c;只是通过装饰器去定义和使用。所以要了解fixture就得先了解python装饰器。 一、装饰器(decorators) 1.定义 装饰器&#xff08;dec…

目标检测之YOLOv5到YOLOv11——从架构设计和损失函数的变化分析

YOLO&#xff08;You Only Look Once&#xff09;系列作为实时目标检测领域的标杆性框架&#xff0c;自2016年YOLOv1问世以来&#xff0c;已历经十余年迭代。本文将聚焦YOLOv5&#xff08;2020年发布&#xff09;到YOLOv11&#xff08;2024年前后&#xff09;的核心技术演进&am…

leetcode:面试题 08.06. 汉诺塔问题

题目链接 面试题 08.06. 汉诺塔问题 题目描述 题目解析 当只有一个盘子时&#xff1a;直接从A柱放到C柱即可。当有两个盘子时&#xff1a;将A柱第一个盘子先放到B柱&#xff0c;再将A柱第二个盘子放到C柱&#xff0c;最后将B柱上的盘子放到C柱子。当有3个盘子时&#xff1a;先…

mybatis-plus一对多关联查询

MyBatis-Plus 本身主要关注单表操作&#xff0c;但可以通过几种方式实现一对多关联查询&#xff1a; 1. 使用 XML 映射文件实现 这是最传统的方式&#xff0c;通过编写 SQL 和 ResultMap 实现&#xff1a; <!-- UserMapper.xml --> <resultMap id"userWithOrd…

一些想法。。。

1.for里面的局部变量这种还是在for里面定义比较好 比如 for(int i 0;i<n;i){ int num; cin>>num; } 实不相瞒&#xff0c;有一次直接cin了i怎么都没看出来哪里错了。。。 2.关于long long 如果发现中间结果大约是10^9&#xff0c;就要考虑int 溢出 即用 long …

迁移科技拆垛工业相机:驱动智能拆码垛革命,赋能工业自动化新纪元

——将复杂技术转化为可感知价值&#xff0c;引领行业标杆级解决方案 作为工业自动化领域的品牌策略专家&#xff0c;我深知企业面临的痛点&#xff1a;拆垛环节效率低下、人工成本高、安全隐患频发。迁移科技凭借其领先的3D视觉技术&#xff0c;通过拆垛工业相机将抽象参数转…

Linux笔记---线程控制

1. 线程创建&#xff1a;pthread_create() pthread_create() 是 POSIX 线程库&#xff08;pthread&#xff09;中用于创建新线程的函数。调用该函数后系统就会启动一个与主线程并发的线程&#xff0c;并使其跳转到入口函数处执行。 #include <pthread.h>int pthread_cr…

Ragflow 源码:ragflow_server.py

目录 介绍1. 初始化和配置2. 数据库管理3. 核心功能4. HTTP 服务5. 信号处理6. 调试支持 流程图系统架构 代码解释1. **初始化系统**2. **运行时控制**3. **核心服务** 介绍 ragflow_server.py 是 RAGFlow 项目的主服务器程序&#xff0c;负责启动和管理 RAGFlow 的核心服务。…

springboot企业级项目开发之项目测试——单元测试!

项目测试 项目测试是对项目的需求和功能进行测试&#xff0c;由测试人员写出完整的测试用例&#xff0c;再按照测试用例执行测试。项目测试是项目质量的保证&#xff0c;项目测试质量直接决定了当前项目的交付质量。 测试人员在开展测试之前&#xff0c;首先需要进行测试的需…

Linux kdump远程转存储配置手册教程

一、前言 kdump是一个Linux内核崩溃转储机制,当系统崩溃时,它可以捕获内核的内存转储信息,帮助分析崩溃原因。将转储文件存储到远程位置,便于集中管理和分析。本教程将详细介绍如何配置kdump将转储文件远程转存储。 二、安装kdump 在大多数Linux发行版中,kdump相关的工…

c++bind和forward完美转化

前言 1. std::bind概述 std::bind是C11引入的功能模板&#xff0c;位于<functional>头文件中&#xff0c;用于将函数、成员函数或函数对象与特定参数绑定&#xff0c;生成一个新的可调用对象。 1.1 基本用法 #include <iostream> #include <functional>v…

【Dify精讲】第14章:部署架构与DevOps实践【知识卡片】

第14章&#xff1a;部署架构与DevOps实践http://www.airinto.com/share/49997bb7 一、Docker 容器化方案&#xff1a;从开发到生产的统一 二、Kubernetes 部署&#xff1a;走向云原生 三、CI/CD 流程设计&#xff1a;自动化的艺术 四、高可用架构&#xff1a;让 AI 服务永不停歇…

el-cascader 设置可以手动输入也可以下拉选择

el-cascader 设置可以手动输入也可以下拉选择 稍微修改一下就可食用 <template slot"stationId" slot-scope""><div style"position: relative;"><!-- 可输入也可显示选项 --><el-input:value"stationNameInput"…

Unity Shader开发-着色器变体(1)-着色器变体概述

有时我们希望一份 Shader 源代码可能满足多种功能&#xff08;如处理法线贴图、自发光、不同光照模式、阴影&#xff0c;支持GPUInstacing等多种功能&#xff09;。所以我们需要能够实现Shader分支的方法。 一.Shader分支实现 主要有三种手段实现Shader分支&#xff1a; 1.静…

ECK 简化:在 GCP GKE Autopilot 上部署 Elasticsearch

作者&#xff1a;来自 Elastic Eduard Martin 学习如何使用 GKE Autopilot 和 ECK 在 GCP 上部署 Elasticsearch 集群。 想要获得 Elastic 认证&#xff1f;了解下一次 Elasticsearch Engineer 培训的时间&#xff01; Elasticsearch 拥有丰富的新功能&#xff0c;可以帮助你为…

测试一个软件的性能有哪些指标?

在测试软件性能时,通常会关注多个维度的指标,以评估系统在不同负载下的表现。以下是关键的性能测试指标分类和详细说明: 📊 核心性能指标分类 1. 响应时间(Response Time) 定义:从发送请求到接收到响应所花费的时间 细分: 平均响应时间:所有请求的平均耗时 *P90/P95…

浅析std::atomic<T>::compare_exchange_weak和std::atomic<T>::compare_exchange_strong

目录 std::atomic ::compare_exchange_weak 和 std::atomic ::compare_exchange_strong 核心原理 函数签名 核心区别 典型用法 1. compare_exchange_weak&#xff08;循环内重试&#xff09; 2. compare_exchange_strong&#xff08;单次尝试&#xff09; 底层机制 总…

举出一个异步接口测试的例子

以下是一个完整的 ​异步接口测试​ 实际案例&#xff0c;包含问题场景、解决方案、代码实现和面试回答技巧&#xff0c;适合在面试中展示技术深度&#xff1a; ​案例背景​ ​业务场景​&#xff1a; 测试一个AI图片生成平台的异步接口&#xff0c;用户提交生成请求后&#…

更新麒麟连不上外网

问题&#xff1a;更新麒麟连不上外网 处理&#xff1a;本地建个下载地址 建立文件夹/root/x86.rpm&#xff0c;子文件夹&#xff1a;Packages、repodata&#xff0c;和在线站点建的一样&#xff1a;Index of /NS/V10/V10SP1.1/os/adv/lic/base/x86_64/&#xff0c;然后就下载…