【每日刷题】Day118

【每日刷题】Day118

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 123. 买卖股票的最佳时机 III - 力扣(LeetCode)

2. 188. 买卖股票的最佳时机 IV - 力扣(LeetCode)

3. 53. 最大子数组和 - 力扣(LeetCode)

1. 123. 买卖股票的最佳时机 III - 力扣(LeetCode)

//思路:多动态dp问题。

//本题的思路与 "买卖股票的最佳时机Ⅱ" 较为类似,具体细节变化看图解:

class Solution {

public:

    const int INF = 0x3f3f3f3f;

    int maxProfit(vector<int>& prices)

    {

        int n = prices.size(),ans = 0;

        vector<vector<int>> f(n,vector<int>(3,-INF));

        auto g = f;

//初始化第一天的情况

        f[0][0] = -prices[0];

        g[0][0] = 0;

        for(int i = 1;i<n;i++)

        {

            for(int j = 0;j<3;j++)

            {

                f[i][j] = max(f[i-1][j],g[i-1][j]-prices[i]);

                g[i][j] = g[i-1][j];

                if(j-1>=0) g[i][j] = max(g[i-1][j],f[i-1][j-1]+prices[i]);

            }

        }

        for(int j = 0;j<3;j++) ans = ans>g[n-1][j]?ans:g[n-1][j];

        return ans;

    }

};

2. 188. 买卖股票的最佳时机 IV - 力扣(LeetCode)

//思路:多状态do问题

//思路与上一题 "买卖股票的最佳时机Ⅲ" 完全一样,只不过将交易次数从 2 改为了 k,代码也只需要改变循环的次数即可。

class Solution {

public:

    const int INF = 0x3f3f3f3f;

    int maxProfit(int k, vector<int>& prices)

    {

        int n = prices.size(),ans = 0;

        vector<vector<int>> f(n,vector<int>(k+1,-INF));

        auto g = f;

        f[0][0] = -prices[0];

        g[0][0] = 0;

        for(int i = 1;i<n;i++)

        {

            for(int j = 0;j<k+1;j++)

            {

                f[i][j] = max(f[i-1][j],g[i-1][j]-prices[i]);

                g[i][j] = g[i-1][j];

                if(j-1>=0) g[i][j] = max(g[i-1][j],f[i-1][j-1]+prices[i]);

            }

        }

        for(int j = 0;j<k+1;j++) ans = ans>g[n-1][j]?ans:g[n-1][j];

        return ans;

    }

};

3. 53. 最大子数组和 - 力扣(LeetCode)

//思路:动态规划子数组问题。

class Solution {

public:

    const int INF = 0x3f3f3f3f;

    int maxSubArray(vector<int>& nums)

    {

        int n = nums.size(),ans = -INF;

        vector<int> dp(n);

        dp[0] = nums[0];

        for(int i = 1;i<n;i++) dp[i] = max(nums[i],nums[i]+dp[i-1]);

        for(int i = 0;i<n;i++) ans = ans>dp[i]?ans:dp[i];//最后遍历寻找记录的最大和

        return ans;

    }

};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ai+若依(集成easyexcel实现excel表格增强)

EasyExcel 介绍 官方地址:EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一…

运维问题0002:SAP多模块问题-SAP系统程序在执行时,跳出“加急快件”窗口,提示:快件文档“更新已终止”从作者***收到

1、问题描述 近期收到2起业务报障&#xff0c;均反馈在SAP执行程序时&#xff0c;弹出“加急快件”窗口&#xff0c;导致操作的业务实际没有更新完成。 1&#xff09;业务场景一&#xff1a;设备管理部门在操作事务代码&#xff1a;AS02进行资产信息变更时&#xff0c;保存正常…

当代打工人学会AI绘画之后,到底可以做什么?

Lofi Girl&#xff0c;一个油管拥有1,400万粉丝的虚拟博主&#xff0c;她的直播视频一般是柔和的背景音乐加上简单的循环动画&#xff0c;这样一个陪着你一起学习的虚拟女孩卡通频道&#xff0c;已经成为了全球无数网友的“精神伴侣”。 但你可能想象不到&#xff0c;就这样的一…

大模型算法岗,面试百问百答,7天3个offer拿到手!

导读 大模型时代很多企业都在开发自己的大模型&#xff0c;这直接刺激了大模型岗位的需求。本文为大家整理了大模型面试相关的知识点&#xff0c;希望对大家面试求职有所帮助。 今天分享大模型面试相关知识点&#xff0c;持续更新。 1. RAG技术体系的总体思路 数据预处理->…

Tube Qualify三维弯管测量系统用于弯管机修正弯管回弹参数

无论是汽车管路&#xff0c;还是航空管路&#xff0c;在采用弯管机弯曲成型时&#xff0c;金属材料受力变形&#xff0c;弯曲成品。当外力撤消后&#xff0c;管路会受到应力回弹&#xff0c;实测管路弯曲角度比所需弯曲的角度小。 弯曲不同的材料、不同的直径、不同的弯曲半径…

开源网安斩获CCIA中国网络安全创新创业大赛总决赛三等奖

近日&#xff0c;由中央网信办指导&#xff0c;中国网络安全产业联盟&#xff08;CCIA&#xff09;主办的2024年中国网络安全创新创业大赛总决赛及颁奖典礼在国家网络安全宣传周落下帷幕。开源网安“AI代码审核平台CodeSec V4.0” 凭借在AI方向的技术创新、技术突破及功能应用创…

嵌入式系统------ARM

目录 一.c语言回顾 1.特殊符号 &#xff08;1&#xff09;const &#xff08;2&#xff09;static &#xff08;3&#xff09;extern 2.内存的结构 &#xff08;1&#xff09;kernel&#xff1a;内核 &#xff08;2&#xff09;栈区 &#xff08;3&#xff09;堆区 &#xff08…

名城优企游学活动之走进万事利:巴黎奥运文创合作伙伴数字化之路

近日&#xff0c;由纷享销客主办的“数字中国 高效增长——名城优企游学系列活动之走进万事利”成功举办&#xff0c;此次活动众多业内精英齐聚万事利科创中心&#xff0c;领略万事利的数字化转型之道&#xff0c;共同探讨如何运用先进数字化手段&#xff0c;实现企业的持续增长…

Java 入门指南:Java 并发编程 —— 同步工具类 Semephore(信号量)

文章目录 同步工具类Semephore核心功能限制并发访问量公平与非公平策略灵活性与适应性 常用方法使用示例 同步工具类 JUC&#xff08;Java.util.concurrent&#xff09;是 Java 提供的用于并发编程的工具类库&#xff0c;其中包含了一些通信工具类&#xff0c;用于在多个线程之…

游戏开发| Unreal5.2-5.4接入chatGPT定制游戏NPC

引擎版本UE5.2 (也支持到5.4,有试用其它插件所以选择之前版本) 使用插件(免费) 1.VArest (插件官方介绍:Plugin that makes REST communications much easier.)可以让REST(Representational State Transfer)通信变得更加容易,涉及客户端与服务器之间通过 HTTP 协议…

万亿低空经济火爆,无人机飞手培训正当时

低空经济是一种新兴的经济形态&#xff0c;主要依托于低空空域&#xff08;通常指垂直高度1000米以下&#xff0c;根据不同地区特点和实际需要可延伸至3000米以内的空域&#xff09;进行各种有人驾驶和无人驾驶航空器的飞行活动。 一、低空经济的蓬勃发展 近年来&#xff0c;…

料品档案没有配置主供应商信息

这个问题经常会出现在普通用户的面前。没有合适的工程人员去打理料品档案。信息是缺漏的。用友给出来的提示&#xff0c;也让人摸不着头脑。只能是记下来备用吧。

基于SpringBoot+Vue的考研学习分享互助平台

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的考研学习…

uniapp(H5)设置反向代理,设置成功后页面报错

设置反向代理后&#xff0c;页面报错图&#xff1a; 反向代理代码&#xff1a;devServer下面就是配置对应的代理&#xff0c;一般这样就没问题了 "h5": {"router": {"mode": "hash"},"devServer": {"port": 517…

Mac 上终端使用 MySql 记录

文章目录 下载安装终端进入 MySql常用操作查看数据库选择一个数据库查看当前选择的数据库Navcat 打开提示报错参考文章 下载安装 先下载社区版的 MySql 安装的过程需要设置 root 的密码&#xff0c;这个是要进入数据库所设定的&#xff0c;所以要记住 终端进入 MySql 首先输…

物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

MENU 硬件电路设计软件程序设计正常流水LED灯反复流水LED灯移动流水LED灯 硬件电路设计 材料名称数量直插式LED1kΩ电阻杜邦线(跳线)若干面包板1 每一个LED的正极与开发板一个GPIO引脚相连&#xff0c;并串联一个电阻&#xff0c;负极接GND。 当然也可以选择只使用一个电阻。 软…

unocss 一直热更新打印[vite] hot updated: /__uno.css

控制台持续打印了几千条这条信息&#xff0c;页面逐渐卡死 client.ts:450 [vite] hot updated: /__uno.css 找出的原因是&#xff1a;依赖出问题了&#xff0c;重新安装unocss&#xff0c; 执行命令 npm i unocss 后修复。 但奇怪的是&#xff0c;删除node_modules重新全部安装…

中介者模式mediator

学习笔记&#xff0c;原文链接 https://refactoringguru.cn/design-patterns/mediator 减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互&#xff0c; 迫使它们通过一个中介者对象进行合作。

第十五节:学习Springboot 的响应结果封装(自学Spring boot 3.x的第四天)

这节记录下如何使用枚举类和响应封装类实现响应结果封装。 第一步&#xff1a;新建立一个枚举类。枚举类的要求有两个变量&#xff0c;响应码code&#xff0c;响应信息desc。响应码需要跟前端约定好。 public enum ResponseCode {SUCCESS("success",101),ERROR(&qu…

JavaWeb后端开发总结(3)

AOP基础 AOP概述 首先我们要知道AOP是什么&#xff1f; 看下图 个人解析&#xff1a; AOP叫做面向切面编程&#xff0c;但是实际上就是面向方法编程 图中下面一部分是一个AOP的案例 AOP快速入门案例代码实现 案例&#xff1a;测出业务中各个业务方法所需的执行时间 如果…