Java | Leetcode Java题解之第188题买卖股票的最佳时机IV

题目:

题解:

class Solution {public int maxProfit(int k, int[] prices) {if (prices.length == 0) {return 0;}int n = prices.length;k = Math.min(k, n / 2);int[] buy = new int[k + 1];int[] sell = new int[k + 1];buy[0] = -prices[0];sell[0] = 0;for (int i = 1; i <= k; ++i) {buy[i] = sell[i] = Integer.MIN_VALUE / 2;}for (int i = 1; i < n; ++i) {buy[0] = Math.max(buy[0], sell[0] - prices[i]);for (int j = 1; j <= k; ++j) {buy[j] = Math.max(buy[j], sell[j] - prices[i]);sell[j] = Math.max(sell[j], buy[j - 1] + prices[i]);   }}return Arrays.stream(sell).max().getAsInt();}
}

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

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

相关文章

精益管理咨询公司在与企业沟通时,应该如何展示自己的专业性?

在竞争激烈的商业环境中&#xff0c;精益管理咨询公司扮演着至关重要的角色。它们不仅为企业提供策略性的指导&#xff0c;还帮助企业实现资源的优化配置&#xff0c;从而达到提高效率、降低成本的目的。那么&#xff0c;精益管理咨询公司在与企业沟通时&#xff0c;应该如何展…

MinIO在Linux环境中的使用

MinIO 是一个高性能的对象存储服务&#xff0c;兼容 Amazon S3 API。它设计用于大规模数据存储&#xff0c;可以很好地处理大数据集和高并发请求。如果你想在 Linux 系统上安装 MinIO&#xff0c;并开放必要的端口以便外部访问。 Vmware下载安装和linux安装这里就不在赘述了&a…

复习2-20240624

vscode 使用 Javabean &#xff08;封装性&#xff09; public class Demo01 {/*1.原则 &#xff1a; 字母 数字 $ _ 中文 除了 这五个 其它都不可以2. 细则 &#xff1a; 数字 不能 开头%hbviunh &hfiureh )nhjrn 7487j -ni hbiu tgf hi…

iOS抓包指南 正则过滤爬取

解读iOS抓包 抓包 &#xff08;packet capture&#xff09;就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作&#xff0c;也用来检查网络安全。抓包也经常被用来进行数据截取等。 什么是正则表达式&#xff1f; 正则表达式(regular expression)是用来描述…

网络安全----安全设备(二)防火墙

防火墙 一、防火墙是什么&#xff1f;二、防火墙的发展史&#xff08;1&#xff09;第四代和第五代防火墙的区别 三、防火墙的功能 一、防火墙是什么&#xff1f; 防火墙&#xff08;Firewall&#xff09;是一个软件、硬件设备或软硬件结合的安全管理系统&#xff0c;构建于网…

利用Java easyExcel库实现高效Excel数据处理

在Java应用程序中&#xff0c;处理Excel文件是一项常见任务&#xff0c;尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库&#xff0c;它提供了简洁的API和优化的性能&#xff0c;以简化Excel文件的处理。本文将指导您如何使用easyExcel库…

Python字典深度探索:25个高级操作技巧

今天&#xff0c;我们踏入字典的神秘森林&#xff0c;挖掘那些不为人知的宝藏。字典&#xff0c;Python中的超级英雄&#xff0c;存储数据的魔法帽&#xff0c;今天我们将解锁它的20个高级特技&#xff0c;让你的代码飞起来&#xff01; 1. 初始化大法&#xff1a;花式建字典 …

系统编程:线程相关

线程 相关函数及过程: 创建线程号; pthread_t tid; 创建线程:pthread_create(&tid, NULL, task, argv[1]); 定义线程执行函数:void *task(void *arg){ 线程退出:pthread_exit(ret);//线程结束后退出 } 等待所有线程结束:pthread_join(tid, (void **)&ret); 编译时增加…

计算机网络面试HTTP篇二

HTTP/1.1 如何优化&#xff1f; 问你一句&#xff1a;「你知道 HTTP/1.1 该如何优化吗&#xff1f;」 我们可以从下面这三种优化思路来优化 HTTP/1.1 协议&#xff1a; 尽量避免发送 HTTP 请求&#xff1b;在需要发送 HTTP 请求时&#xff0c;考虑如何减少请求次数&#xff…

常用网站收集

微信公众号 https://mp.weixin.qq.com/ 新浪邮箱 https://mail.sina.com.cn/?frommail 博客 https://blog.csdn.net/ 印象笔记 https://app.yinxiang.com/ b站 https://member.bilibili.com/ 微博 https://weibo.com/ QQ音乐 https://y.qq.com/ 网易云音乐 htt…

Springboot启动mongoDB报错后禁用mongoDB自动配置

一、背景 最近在项目当中使用到MongoDB的驱动及相关依赖&#xff0c;发现在启动的时候有MongoDB启动报错信息&#xff0c;目前也不直接使用MongoDB&#xff0c;所以把自动配置这一块在启动的时候去除掉。 二、操作方式 Application启动类&#xff0c;修改启动SpringBootAppli…

400技术汇 教你如何成为抓包高手!

Wireshark是目前使用最广泛的网络抓包分析工具&#xff0c;也是每一位网络攻城狮电脑里必装神器。当网络里发现恶意攻击、某人下载流量过大、设备互联丢包、协议交互失败等等情况时&#xff0c;通过Wireshark抓包定位问题根源&#xff0c;是最直接有效的手段。 然而如此强大的…

【C++】future/promise

future/promise 1 来源 需要从线程中返回异步任务结果情形时&#xff0c;c11之前&#xff1a; 使用指针在线程间共享数据。 传递一个指针到新的线程中&#xff0c;该线程在其中设置数据&#xff0c;直到主线程继续等待使用条件变量。当新线程设置数据并通知条件变量时&#x…

守护清远采矿安全:可燃气体报警器检定工作的必要性与实施

清远市地处广东省北部&#xff0c;矿产资源丰富&#xff0c;包括金属矿产、非金属矿产等多种类型。采矿行业作为清远的重要产业之一&#xff0c;对当地经济发展起到了积极的推动作用。 然而&#xff0c;随着采矿业的快速发展&#xff0c;安全问题也逐渐凸显出来&#xff0c;尤…

05 Pytorch 数据读取 + 二分类模型

05 Pytorch 数据读取 二分类模型05 Pytorch 数据读取 二分类模型05 Pytorch 数据读取 二分类模型 01 数据读取 DataLoader&#xff08;set作为参数&#xff09; 02 Dataset 从哪读&#xff0c;怎么读&#xff1f; 功能&#xff1a;数据从哪里读取&#xff1f; 如何读取…

【第十三课】区域经济可视化表达——符号表达与标注

一、前言 地图最直接的表达就是使用符号表达。使用符号可以把简单的点线面要 素渲染成最直观的地理符号&#xff0c;提高地图的可读性。只要掌握了 ArcGIS 符号制 作的技巧&#xff0c;分析符号并总结出规则&#xff0c;就可以制作符合要求的地图符号。 &#xff08;一&#…

算法基础入门 - 1.排序

文章目录 算法基础入门第一章:排序1.1 桶排序1.2 冒泡排序1.3 快速排序1.4 买书问题算法基础入门 第一章:排序 1.1 桶排序 该算法好比桶,假设有11个桶,编号从0-11。每出现一个数,就往对应编号的桶中放入旗子,只需要数桶中旗子的个数即可。比如2号桶有1个旗子,表示2出…

自动化测试TCP和UDP的带宽

在一侧设备&#xff0c;执行iperf3 -s -i 1 另一侧设备执行以下脚本 测试长时间下以太网的tcp带宽和udp丢包率 测试某以太网转换盒的时候&#xff0c; 发现tcp带宽在刚开始的几分钟是800M左右&#xff0c;然后直线转为50M&#xff0c;并且长时间稳定 UDP的丢包率&#xff0…

Spring Boot整合ZXing实现二维码和条形码生成

1. 添加ZXing依赖到Spring Boot项目 场景描述: 在需要快速、高效地生成二维码或条形码的应用中&#xff0c;如电子票务、产品追踪、个人身份验证等&#xff0c;集成ZXing库至Spring Boot项目是至关重要的一步。 在项目的pom.xml文件中添加以下依赖以引入ZXing库&#xff1a; …

Appium APP测试学习

1、安装client编程库(客户端) (1)如果遇到以下问题可以使用全路径安装 (2)安装后导致selenium升级&#xff0c;导致某些方法失效&#xff1a;如find_element_by_id。解决方法&#xff1a;卸载两个安装包&#xff0c;后面重新安装 2、安装appium Server:&#xff08;服务端&…