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

『力扣每日一题15』:买卖股票的最佳时机

一、题目

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

示例 1:

输入:[7,1,5,3,6,4]
输出:5
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。

示例 2:

输入:prices = [7,6,4,3,1]
输出:0
解释:在这种情况下, 没有交易完成, 所以最大利润为 0。

二、思路解析

我们要明确需求,就是先找到数组中的最小值跟最大值。

因此,我们可以定义两个变量,min 代表最小值,直接定义为一个 Integer 的最大值即可,保证每个数至少小于或等于它,就可以替换掉它。

而 maxprofit 的定义同理。

接着我们开始遍历数组,只要小于 min 的都赋值给 min、大于 mixprofit 的都赋值给它,并做好条件判断。

最终的最大利润 maxprofit 也就等于 最大值减去最小值,然后返回即可。

三、完整代码

class Solution {public int maxProfit(int[] prices) {int min = Integer.MAX_VALUE;int maxprofit = 0;for(int i = 0;i<prices.length;i++){if(prices[i]<min){min = prices[i];}else if(prices[i]-min>maxprofit){maxprofit = prices[i]-min;}}return maxprofit;}
}

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

相关文章:

『力扣每日一题15』:买卖股票的最佳时机

一、题目 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…...

Java中栈实现怎么选?Stack、Deque、ArrayDeque、LinkedList(含常用Api积累)

目录 Java中的Stack类 不用Stack有以下两点原因 1、从性能上来说应该使用Deque代替Stack。 2、Stack从Vector继承是个历史遗留问题&#xff0c;JDK官方已建议优先使用Deque的实现类来代替Stack。 该用ArrayDeque还是LinkedList&#xff1f; ArrayDeque与LinkList区别&#xff1…...

雷达分辨率单元、单向/双向雷达方程、天气雷达方程简介

一、点状目标 如果两个点状目标在一个分辨率单元中,经典脉冲雷达只能看到一个目标。 点状目标 二、雷达距离分辨率 对于简单的键控开/关脉冲调制: 对于使用脉冲内调制的雷达,距离分辨率取决于压缩脉冲的脉冲持续时间。脉冲压缩比(PCR)取决于传输带宽BWtx,即距离分辨率取…...

RabbitMQ之Fanout(扇形) Exchange解读

目录 基本介绍 适用场景 springboot代码演示 演示架构 工程概述 RabbitConfig配置类&#xff1a;创建队列及交换机并进行绑定 MessageService业务类&#xff1a;发送消息及接收消息 主启动类RabbitMq01Application&#xff1a;实现ApplicationRunner接口 基本介绍 Fa…...

Redisson—分布式集合详述

7.1. 映射&#xff08;Map&#xff09; 基于Redis的Redisson的分布式映射结构的RMap Java对象实现了java.util.concurrent.ConcurrentMap接口和java.util.Map接口。与HashMap不同的是&#xff0c;RMap保持了元素的插入顺序。该对象的最大容量受Redis限制&#xff0c;最大元素数…...

开发做前端好还是后端好?这是个问题!

前言 随着互联网的快速发展&#xff0c;越来越多的人选择从事Web开发行业&#xff0c;而Web开发涉及到前端和后端两个方面&#xff0c;相信许多人都曾经对这两个方面进行过探究。而且编程世界就像一座大城市&#xff0c;前端开发和后端开发就像城市的两个不同街区。作为初学者&…...

运行huggingface Kosmos2报错 nameerror: name ‘kosmos2tokenizer‘ is not defined

尝试运行huggingface上的Kosmos,https://huggingface.co/ydshieh/kosmos-2-patch14-224失败,报错: nameerror: name kosmos2tokenizer is not defined查看报错代码: vi /root/.cache/huggingface/modules/transformers_modules/ydshieh/kosmos-2-patch14-224/48e3edebaeb…...

吃鸡玩家必备神器!一站式提升战斗力、分享干货!

大家好&#xff0c;我是吃鸡玩家。在这个视频中&#xff0c;我要分享一个让你瞬间提高战斗力的神器&#xff0c;同时让你享受到顶级游戏作战干货的盛宴&#xff01;让我们一起来了解吧&#xff01; 首先&#xff0c;我们推荐绝地求生作图工具。通过这款工具&#xff0c;你可以轻…...

【maven】idea中基于maven-webapp骨架创建的web.xml问题

IDEA中基于maven-webapp骨架创建的web工程&#xff0c;默认的web.xml是这样的。 <!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name…...

【算法题】2034. 股票价格波动

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 题目&#xff1a; 给你一支股票价格的数据流。数据流…...

APSIM模型】作物模型应用案例

APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生长模拟模型之一。APSIM模型有Classic和Next Generation两个系列模型&#xff0c;能模拟几十种农作物、牧草和树木的土壤-植物-大气过程&#xff0c;被广泛应用于精细农业、水肥管理、气候变化、粮食安…...

io_uring之liburing库安装

手动编译和安装 liburing&#xff1a; 1.首先&#xff0c;从 liburing 的 GitHub 仓库中获取源代码。您可以使用以下命令克隆仓库&#xff1a; git clone https://github.com/axboe/liburing.git2.进入 liburing 目录&#xff1a; cd liburing3.运行configure ./configure …...

Python WebSocket自动化测试:构建高效接口测试框架!

为了更高效地进行WebSocket接口的自动化测试&#xff0c;我们可以搭建一个专门的测试框架。本文将介绍如何使用Python构建一个高效的WebSocket接口测试框架&#xff0c;并重点关注以下四个方面的内容&#xff1a;运行测试文件封装、报告和日志的封装、数据驱动测试以及测试用例…...

MySQL数据库——SQL优化(1)-介绍、插入数据、主键优化

目录 介绍 插入数据 Insert 大批量插入数据 主键优化 数据组织方式 页分裂 页合并 索引设计原则 介绍 SQL优化将分为下面几个部分进行学习&#xff1a; 插入数据主键优化order by优化group by优化limit优化count优化update优化 首先就先来看第一方面&#xff0c; 插…...

Flink---10、处理函数(基本处理函数、按键分区处理函数、窗口处理函数、应用案例TopN、侧输出流)

星光下的赶路人star的个人主页 我的敌手就是我自己&#xff0c;我要他美好到能使我满意的程度 文章目录 1、处理函数1.1 基本处理函数&#xff08;ProcessFunction&#xff09;1.1.1 处理函数的功能和使用1.1.2 ProcessFunction解析1.1.3 处理函数的分类 1.2 按键分区处理函数&…...

多种方案教你彻底解决mac npm install -g后仍然不行怎么办sudo: xxx: command not found

问题概述 某些时候我们成功执行了npm install -g xxx&#xff0c;但是执行完成以后&#xff0c;使用我们全局新安装的包依然不行&#xff0c;如何解决呢&#xff1f; 解决方案1&#xff1a; step1: 查看npm 全局文件安装地址 XXXCN_CXXXMD6M ~ % npm list -g …...

斐波那契数列 JS

问题&#xff1a; 给出一个数字&#xff0c;找出它是斐波那契数列中的第几个数 斐波那契数列 [1, 1, 2, 3, 5, 8, 13, ...]&#xff0c;后一个数字是前两个数字之和 输入的数字大于等于 2 如果输入数字不存于斐波那契数列中&#xff0c;返回 -1 function demo(num) {//初始数据…...

IP 地址的分类

IP地址是用于标识计算机或设备在互联网上的位置的一种地址。IP地址通常根据其范围和用途分为不同的分类&#xff0c;主要包括以下几种&#xff1a; IPv4地址&#xff08;Internet Protocol version 4&#xff09;&#xff1a; IPv4地址是32位二进制数&#xff0c;通常以点分十…...

CDN网络基础入门:CDN原理及架构

背景 互联网业务的繁荣让各类门户网站、短视频、剧集观看、在线教育等内容生态快速发展&#xff0c;互联网流量呈现爆发式增长&#xff0c;自然也面临着海量内容分发效率上的挑战&#xff0c;那么作为终端用户&#xff0c;我们获取资源的体验是否有提升呢&#xff1f; 答案是…...

李沐深度学习记录2:10多层感知机

一.简要知识记录 x.numel()&#xff1a;看向量或矩阵里元素个数 A.sum()&#xff1a;向量或矩阵求和&#xff0c;axis参数可对某维度求和&#xff0c;keepdims参数设置是否保持维度不变 A.cumsum&#xff1a;axis参数设置沿某一维度计算矩阵累计和x*y:向量的按元素乘法 torch.…...

Python标准库中内置装饰器@staticmethod@classmethod

装饰器是Python中强大而灵活的功能&#xff0c;用于修改或增强函数或方法的行为。装饰器本质上是一个函数&#xff0c;它接受另一个函数作为参数&#xff0c;并返回一个新的函数&#xff0c;通常用于在不修改原始函数代码的情况下添加额外的功能或行为。这种技术称为元编程&…...

MySQL8 间隙锁在11种情况下的锁持有情况分析

测试环境及相关必要知识 测试环境为mysql 8 版本 间隙锁&#xff08;Gap Lock&#xff09;&#xff1a;用于锁定索引范围之间的间隙&#xff0c;防止其他事务在此间隙中插入新记录。间隙锁主要用于防止幻读问题。 在可重复读的隔离级别下默认打开该锁机制&#xff0c;解决幻…...

C# 图片按比例进行压缩

1、对图片进行压缩&#xff0c;保存在本地 对于一个200k的png文件按0.6的缩放比例进行压缩&#xff0c;压缩后的大小为20k左右 对于一个80k的jpg文件按0.6的缩放比例压缩&#xff0c;压缩后为13k左右 public void imageZoom(string name, Double zoomScale){Bitmap btImage …...

猜猜 JavaScript 输出:(! + [] + [] + ![]).length

一起猜 最近看到一个很有意思的题&#xff0c;直接来看&#xff0c;下面这段代码的打印结果是什么&#xff1f; console.log((! [] [] ![]).length) 猜猜看&#xff0c;你的答案是什么&#xff0c;打在评论区。 我的答案是 undefined&#xff0c;正如我的英文名 为什么呢&a…...

MTK Android12静默安装接口

该文档就是在android12系统上提供一个广播接收器&#xff0c;app端发送一个广播&#xff0c;并且带入apk的地址就可以实现安装 1、广播注册 frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java 首先要导入的依赖 import android.app.P…...

基于电容电流前馈与电网电压全前馈的三相LCL并网逆变器谐波抑制Simulink仿真

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Python数据攻略-Pandas与统计数据分析

统计学在数据分析中到底有多重要?在数据分析的世界里,统计学扮演着一角色。想象一下你是《三国志》游戏的数据分析师,任务是找出哪个武将最受玩家欢迎,哪些战役最具挑战性等。 你怎么做呢?这就需要统计学的力量了。 文章目录 基础统计方法描述性统计方差和标准差相关性和…...

【gcc】RtpTransportControllerSend学习笔记 1

本文是大神 https://www.cnblogs.com/ishen 的文章的学习笔记。主要是大神文章: webrtc源码分析(8)-拥塞控制(上)-码率预估 的学习笔记。大神的webrtc源码分析(8)-拥塞控制(上)-码率预估 详尽而具体,堪称神作。因为直接看大神的文章,自己啥也没记住,所以同时跟着看代码。跟…...

若依分离版-前端使用

1 执行 npm install --registryhttps://registry.npm.taobao.org&#xff0c;报错信息如下 npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: ktg-mes-ui3.8.2 npm ERR! Found: vue2.6.12 npm ERR! node_modu…...

微信小程序-2

微信开发文档 https://developers.weixin.qq.com/miniprogram/dev/framework/ 一、app.js中的生命周期函数与globalData(全局变量) 指南 - - - 小程序框架 - - - 注册小程序 删除app.js里的东西&#xff0c;输入App回车&#xff0c;调用生命周期 选项 - - - 重新打开此项目…...

网站虚假备案/网址收录网站

标准容器 C容器分类&#xff1a;顺序容器&#xff0c;有序容器&#xff0c;无序容器。所有的容器都有一个基本的特性&#xff1a;容器保存元素采用的是值语义&#xff0c;也就是说&#xff0c;里面存储的是元素的副本、复件&#xff0c;而不是引用。 从这个基本的特性可以得出…...

网页及网站建设用什么软件/怎么找专业的营销团队

前言 后端在写对外的API接口时&#xff0c;一般会对参数进行签名来保证接口的安全性&#xff0c;在设计签名算法的时候&#xff0c;主要考虑的是这几个问题&#xff1a; 1. 请求的来源是否合法 2. 请求参数是否被篡改 3. 请求的唯一性 我们的签名加密也是主要针对这几个问题来…...

策划网站做营销推广/学校教育培训机构

缓存实现的过程以及淘汰旧页面的机制不同&#xff0c;所以会有不同缓存调度方法&#xff0c;就常见的就是FIFO&#xff0c;LRU&#xff0c;LFU缓存过期策略。 1.FIFO&#xff08;First In First out&#xff09;&#xff1a;先见先出&#xff0c;淘汰最先近来的页面&#xff0…...

海南省住房和建设厅网站首页/seo行业岗位

羽毛球鞋什么牌子好写回答 共76个回答PINKY5567LV.4 推荐于 2018-02-27YONEX的球鞋产品线最多&#xff0c;推广最好&#xff0c;性能和脚感也是顶尖的&#xff0c;如果买来送人&#xff0c;首选建议是YONEX。&#xff08;现在最好的鞋是01LTD、F1NLTD、65X、86LTD、SC6i等等&am…...

网站如何做se/今日十大头条新闻

类加载所有类加载器&#xff0c;都是ClassLoader的子类。类加载器永远以.class运行的目录为准。读取classpath根目录下的文件有以下几种方式&#xff1a;1 在Java项目中可以通过以下方式获取classspath下的文件&#xff1a;public void abc(){//每一种读取方法,使用某个类获取A…...

win7搭建wordpress/百度信息流平台

设计模式是重复发生的问题的解决方案。 一个模式一般包含如下几部分&#xff1a; 名称&#xff1a;隐含了模式要解决的问题、方案、效果等 问题&#xff1a;描述了模式的应用场景。准确的理解模式对应的问题&#xff0c;是理解模式的关键&#xff0c;也是实践中应用模式的关键 …...