Leetcode 122 买卖股票的最佳时机 II
题意理解:
已知:一个整数数组
prices,其中prices[i]表示某支股票第i天的价格如何哪个时间点买入,哪个时间点卖出,多次交易,能够收益最大化
目的:收益最大化
解题思路:
使用贪心思路来解题,需要明确什么时局部最优解,如何由局部最优解推导全局最优解。
首先我们要尽可能的利益最大化,就要尽可能的保证利益为正。
这里引入利益区间的概念及:[买入,卖出] 利益=卖出-买入
例如: [7,1,5,3,6,4]
eg:利益区间[0,3]
利益=p[3]-p[0]
=p[3]-p[2]+p[2]-p[1]+p[1]-p[0]
实际是每天利益的和,由此可知,我们要保证利益尽可能的大
即收集所有正的天利益即可得到,这个规定时间内的最大获益。
1.贪心解题
我们使用result来记录最大利益,同时我们需要两个指针一个指向买入天,一个指向卖出天,来计算当前交易利益
注意:若交易会损失钱则可选择不交易,所以result的初始化为0。
public int maxProfit(int[] prices) {int result=0;//第一天不卖出,最后一天不买入for(int i=1;i<prices.length;i++){result+=Math.max(prices[i]-prices[i-1],0);//总是叠加正的利益}return result;}
2.分析
时间复杂度:O(n)
空间复杂度:O(n)
n是prices数组的长度。
相关文章:
Leetcode 122 买卖股票的最佳时机 II
题意理解: 已知:一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格 如何哪个时间点买入,哪个时间点卖出,多次交易,能够收益最大化 目的:收益最大化 解题思路: 使用贪心…...
音频文件合成
音频文件合成 音频文件合成 http://ffmpeg.org/download.html https://blog.csdn.net/u013314786/article/details/89682800 http://www.360doc.com/content/19/0317/01/10519289_822112563.shtml https://chaijunkun.blog.csdn.net/article/details/116491526?spm1001.210…...
20231220将NanoPC-T4(RK3399)开发板的Android10的SDK按照Rockchip官方挖掘机开发板编译打包刷机之后启动跑飞
20231220将NanoPC-T4(RK3399)开发板的Android10的SDK按照Rockchip官方挖掘机开发板编译打包刷机之后启动跑飞 2023/12/20 17:19 简略步骤:rootrootrootroot-X99-Turbo:~/3TB$ tar --use-compress-programpigz -xvpf rk3399-android-10.git-20210201.tgz rootrootro…...
vivo 容器平台资源运营实践
作者:vivo 互联网服务器团队 - Chen Han 容器平台针对业务资源申请值偏大的运营问题,通过静态超卖和动态超卖两种技术方案,使业务资源申请值趋于合理化,提高平台资源装箱率和资源利用率。 一、背景 在Kubernetes中,容…...
ASP.NET Core面试题之Redis高频问题
🎈🎈在.NET后端开发岗位中,如今也少不了、微服务、分布式、高并发高可用相关的面试题🎈🎈 👍👍本文分享一些整理的Redis高频面试题🎉 👍👍机会都是给有准备…...
【教程】Ubuntu基本软件安装
文章目录 一、搜狗输入法安装二、百度网盘安装三、划词翻译 一、搜狗输入法安装 全网最准确的Ubuntu 20.04 安装搜狗输入法的步骤 二、百度网盘安装 百度云盘for Linux安装教程和体验 三、划词翻译 ubuntu最好用的划词翻译词典:有道词典和GoldenDict...
Jenkins 构建环境指南
目录 Delete workspace before build starts(常用) Use secret text(s) or file(s) (常用) Add timestamps to the Console Output (常用) Inspect build log for published build scans Terminate a …...
基于Go语言的HTTP路由设计与实现
在Go语言的世界里,HTTP路由是一种将HTTP请求映射到相应处理函数的技术。通过路由,我们可以确定当用户发送一个HTTP请求时,应该调用哪个函数来处理该请求。在这个过程中,我们可以使用多种方法来实现路由设计,下面我将以…...
SpringMVC01
SpringMVC 1. 学习⽬标2. 什么叫MVC?3. SpringMVC 框架概念与特点4. SpringMVC 请求流程5. Spring MVC 环境搭建6. URL 地址映射配置7. 参数绑定8. JSON 数据开发JSON普通数组步骤1:pom.xml添加依赖步骤2: 修改配置⽂件步骤3. 注解使⽤ 1. 学习⽬标 2. 什…...
基于Redis限流(aop切面+redis实现“令牌桶算法”)
令牌桶算法属于流量控制算法,在一定时间内保证一个键(key)的访问量不超过某个阈值。这里的关键是设置一个令牌桶,在某个时间段内生成一定数量的令牌,然后每次访问时从桶中获取令牌,如果桶中没有令牌&#x…...
【小白专用】php pdo方式连接sqlserver 设置方法 更新23.12.21
windows系统的拓展相对来说比较好安装,直接下载对应的dll文件,修改php.ini配置文件即可。 添加PHP对SQL SERVER的支持 1.新建PHP 文件,输入内容: <?php echo phpinfo(); ?> 2.运行后,可以查看到如下数据&…...
打开C#项目时出现“error : 找不到指定的 SDK”的错误解决方法汇总
从github上克隆项目回来,发现编译通过,我是通过一下步骤解决的: 1.到适用于 Visual Studio 的 .NET SDK 下载网址下载对应版本的.NET SDK,关闭当前VS后安装; 2.参考VS2022报错:error : 找不到指定的 SDK“…...
MIT 6.824 练习1
Hi, there! 这是一份根据 MIT 6.824(2021) 课程的第 2 课的课堂示例代码改编的 2 个 go 语言编程练习。像其他的编程作业一样,我去除了核心部分,保留了代码框架,并编写了每一步的提示 练习代码在本文的最后面 爬虫 在第一部分,…...
Git报错x509: certificate signed by unknown authority
下载报错: Error downloading object: model-00001-of-00008.safetensors (ed3ac49): Smudge error: Error downloading model-00001-of-00008.safetensors (ed3ac4983f682a999b0e4b6f072aad294c4fd9a7e968e90835ba5c4b466d3c7c): LFS: Get https://cdn-lfs.huggin…...
OpenCV技术应用(8)— 如何将视频分解
前言:Hello大家好,我是小哥谈。本节课就手把手教大家如何将一幅图像转化成热力图,希望大家学习之后能够有所收获~!🌈 目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍 视频是…...
Swagger2接口测试文档
目录 一、Swagger简介 1.1 Swagger是什么? 1.2 为什么要用Swagger 1.3 Swagger注解 二、Spring集成Swagger 三、测试环境配置 一、Swagger简介 1.1 Swagger是什么? Swagger 是一个开源的 API 设计和文档工具,它可以帮助开发人员更快、…...
【Java】BigDecimal 比较自动化页面获取数据的大小
jwensh2023.12.20 使用背景 对 web3 相关的数据进行计算的时候,需要进行大小加减计算,UI 自动化过程需要将数据转为自然数;页面获取的数据会有千分位 、高精度(18位) /*** Compares this {code BigDecimal} with the specified* {code BigDe…...
开源键盘工程QMK
一、Qmk简介 目录 一、Qmk简介 二、Qmk入门指导文档 三、QMK配置器 四、QMK层的概念 TMK原先是由Jun Wako设计实现...
Elasticsearch的批量bulk 提交 写入的方式会有顺序问题吗?
Elasticsearch的分布式特性可能会导致写入操作的执行顺序与提交顺序稍有不同。在分布式环境中,Elasticsearch将数据分散到不同的节点上进行存储和处理,因此写入操作的执行顺序可能会受到网络延迟、负载均衡等因素的影响。 根源在于ES的分布式架构。如上图所示,客户端的命令首…...
云原生之深入解析如何使用Vcluster Kubernetes加速开发效率
一、背景 为什么一个已经在使用 Kubernetes 本身方面已经很挣扎的开发人员还要处理虚拟集群呢?答案可能会让您感到惊讶,但虚拟集群实际上比单独的物理集群更容易处理,并且与本地 k3d、KinD 或 minikube 部署的集群相比具有相当多的优势。如果…...
大数据领域数据科学与云计算的结合应用
大数据领域数据科学与云计算的结合应用 关键词:大数据、数据科学、云计算、结合应用、数据分析 摘要:本文深入探讨了大数据领域中数据科学与云计算的结合应用。首先介绍了数据科学和云计算的背景知识,然后详细解释了这两个核心概念及其相互关系。通过具体的算法原理、数学模…...
GIL已死,GIL万岁?——2024大厂Python并发岗面试题库首发(含性能压测对比数据)
第一章:GIL已死,GIL万岁?——2024大厂Python并发岗面试题库首发(含性能压测对比数据)一道高频真题:为什么 asyncio.run() 启动的协程无法被 multiprocessing.Process 并发执行? 该问题直指 Pyth…...
ARM Neon加速NTT实战:如何在Cortex-A72上优化Kyber和Saber的加密性能
ARM Neon加速NTT实战:Cortex-A72上的Kyber与Saber性能优化 在移动安全领域,后量子密码算法的硬件加速已成为行业焦点。Cortex-A72作为ARM中端处理器的代表,其Neon指令集为NTT(数论变换)提供了显著的并行计算能力。本文…...
Wan2.2-I2V-A14B性能调优:基于算法原理的模型推理加速策略
Wan2.2-I2V-A14B性能调优:基于算法原理的模型推理加速策略 1. 效果亮点预览 在RTX4090D显卡上,经过系统调优的Wan2.2-I2V-A14B模型展现出惊人的性能提升:单次推理耗时从原始的38ms降低至22ms,吞吐量提升近72%。更令人惊喜的是&a…...
Qwen3-ASR-0.6B惊艳效果:藏语、维吾尔语等少数民族语言识别案例
Qwen3-ASR-0.6B惊艳效果:藏语、维吾尔语等少数民族语言识别案例 1. 引言:多语言语音识别的突破 语音识别技术正在改变我们与设备交互的方式,但有一个领域一直存在巨大挑战——少数民族语言的识别。传统的语音识别模型往往只支持主流语言&am…...
OpenClaw跨平台实战:Windows到Mac的Qwen3-32B配置迁移
OpenClaw跨平台实战:Windows到Mac的Qwen3-32B配置迁移 1. 为什么需要跨平台配置迁移? 去年冬天,我在Windows工作站上搭建了一套基于Qwen3-32B的OpenClaw自动化系统,用于处理日常的文档整理和数据分析任务。当公司配发新款MacBoo…...
LFM2.5-1.2B-Thinking-GGUF前端面试题解析实战:模拟面试与答案生成
LFM2.5-1.2B-Thinking-GGUF前端面试题解析实战:模拟面试与答案生成 1. 开篇:AI如何改变前端面试准备方式 前端开发岗位的竞争日益激烈,技术面试的难度也水涨船高。传统的面试准备方式往往效率低下——求职者要么死记硬背网上的标准答案&…...
2021年中国村级行政区划边界矢量数据|行政村 + 社区|全国60万+单元|SHP格式、WGS84坐标
🔍 数据简介 本数据集 2021年左右的中国村级行政区划边界矢量数据。 总计 超60万个村级单元,是目前公开可获取的最精细、最权威的全国村级边界数据之一,适用于乡村振兴、基层治理、人口空间化、公共服务设施布局、学术研究等高精度需求场景。…...
PCB首次上电安全操作与防炸板指南
PCB首次上电安全操作指南:从炸板事故中汲取的工程经验1. 硬件工程师的必修课:上电安全1.1 典型上电事故案例分析在嵌入式硬件开发领域,PCB首次上电环节隐藏着诸多技术风险。根据行业调查,约78%的硬件工程师在其职业生涯中至少经历…...
告别Keil!用VSCode+EIDE插件打造你的STM32开发环境(附ST-LINK V2避坑指南)
从Keil到VSCode:打造高效STM32开发环境的完整指南 在嵌入式开发领域,Keil MDK长期以来一直是STM32开发的主流工具,但它的封闭性、高昂的授权费用和略显陈旧的用户界面让越来越多的开发者开始寻找替代方案。Visual Studio Code(VSC…...
