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

算法题系列8·买卖股票的最佳时机

目录

题目描述

实现

提交结果


题目描述

给定一个数组 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。提示:
1 <= prices.length <= 105
0 <= prices[i] <= 104

链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

实现

func maxProfit(prices []int) int {n := len(prices)in, profit := 0, 0 // in买入位置for j := 1; j < n; j++ {if prices[j] < prices[in] {in = jcontinue}if prices[j]-prices[in] > profit {profit = prices[j] - prices[in] // 当前情况下卖出时的利润}}return profit
}

验证

	var nums1 = []int{7, 1, 5, 3, 6, 4}n1 := maxProfit(nums1)fmt.Println(n1) // 5var nums2 = []int{7, 6, 4, 3, 1}n2 := maxProfit(nums2)fmt.Println(n2) // 0var nums3 = []int{5, 6, 5, 3, 9, 8}n3 := maxProfit(nums3)fmt.Println(n3) // 6

时:O(n)

空 :常数个变量,O(1)

提交结果

解答可能并不唯一,仅供参考哦!

相关文章:

算法题系列8·买卖股票的最佳时机

目录 题目描述 实现 提交结果 题目描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。 设计一个算法来计算你所能获取的最大利润。…...

DC电源模块关于宽电压输入和输出的范围

BOSHIDA DC电源模块关于宽电压输入和输出的范围 DC电源模块是一种电子设备&#xff0c;能够将输入的直流电源转换成所需的输出电源&#xff0c;用于供电各种电子设备。其中&#xff0c;关于宽电压输入和输出的范围&#xff0c;是DC电源模块常见的设计要求之一。本文将详细介绍…...

【Docker】docker拉取镜像错误 missing signature key

问题 当我使用docker拉取一个特定的镜像时&#xff0c;提示错误&#xff1a; 错误 missing signature key 但是拉取其他镜像又可以访问&#xff0c;&#xff0c;&#xff0c;&#xff0c;于是&#xff0c;我怀疑是否是docker版本问题。 docker --version结果确实&#xff0…...

C- 静态链接

静态链接意味着在编译时将所有库函数直接嵌入到最终的可执行文件中&#xff0c;而不是在运行时通过共享库来动态链接这些函数。静态链接的结果是一个更大的可执行文件&#xff0c;因为它包含了所有必要的代码&#xff0c;但它可以在没有外部依赖的情况下独立运行。 下面是一个…...

微信公众号开发(BUG集)

1.微信公众平台接口错误:不合法的自定义菜单使用用户 地址&#xff1a;解决地址 2.微信公众平台接口错误:invalid ip 180.101.72.196 ipv6 ::ffff:180.101.72.196, not in whitelist rid: 6511420b-60c59249-01084d02 白名单离开放服务器IP...

AI项目十三:PaddleOCR训练自定义数据集

若该文为原创文章&#xff0c;转载请注明原文出处。 续上一篇&#xff0c;PaddleOCR环境搭建好了&#xff0c;并测试通过&#xff0c;接下来训练自己的检测模型和识别模型。 paddleocr检测模型训练 1、准备数据集 在PaddleOCR目录下新建文件夹&#xff1a;train_data, 这个…...

你熟悉Docker吗?

你熟悉Docker吗&#xff1f; 文章目录 你熟悉Docker吗&#xff1f;快速入门Docker安装1.卸载旧版2.配置Docker的yum库3.安装Docker4.启动和校验5.配置镜像加速5.1.注册阿里云账号5.2.开通镜像服务5.3.配置镜像加速 部署MySQL镜像和容器命令解读 Docker基础常用命令数据卷数据卷…...

Nodejs错误处理详细指南

Nodejs错误处理详细指南 学习 Node.js 中的高级错误处理技术&#xff0c;以增强应用程序的可靠性和稳定性。 在 Node.js 中&#xff0c;我们可以使用各种技术和方法来处理错误&#xff0c;可以查看这篇文章。错误处理是任何 Node.js 应用程序的一个重要方面。正确管理错误可以…...

软考 系统架构设计师系列知识点之软件架构风格

这个十一注定是一个不能放松、保持“紧”的十一。由于报名了全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;11月4号就要考试&#xff0c;因此8天长假绝不能荒废&#xff0c;必须要好好利用起来。现在将各个核心知识点一一进行提炼并做记录。 所…...

一键智能视频语音转文本——基于PaddlePaddle语音识别与Python轻松提取视频语音并生成文案

前言 如今进行入自媒体行业的人越来越多&#xff0c;短视频也逐渐成为了主流&#xff0c;但好多时候是想如何把视频里面的语音转成文字&#xff0c;比如&#xff0c;录制会议视频后&#xff0c;做会议纪要&#xff1b;比如&#xff0c;网课教程视频&#xff0c;想要做笔记&…...

[unity]对象的序列化

序 抽象的图纸叫类&#xff0c;包含具体数据的叫对象。 类的序列化和反序列化 using System.Collections; using System.Collections.Generic; using UnityEngine;using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; [Serializabl…...

java开发岗位面试

java开发岗位面试 技术栈&#xff1a;springboot框架&#xff0b;redis 个人笔试/技术面问题整理 1、SpringBoot有什么组件&#xff1f; 举例说几个&#xff1a; ①auto-configuration组件&#xff1a;核心特征。其约定大于配置思想&#xff0c;赋予了SpringBoot开箱即用的强…...

坠落防护 挂点装置

声明 本文是学习GB 30862-2014 坠落防护 挂点装置. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了高处坠落防护挂点装置的技术要求、检验方法、检验规则及标识。 本标准适用于防护高处坠落的挂点装置。 本标准不适用于体育及消…...

关于 自定义的RabbitMQ的RabbitMessageContainer注解-实现原理

概述 RabbitMessageContainer注解 的主要作用就是 替换掉Configuration配置类中的各种Bean配置&#xff1b; 采用注解的方式可以让我们 固化配置&#xff0c;降低代码编写复杂度、减少配置错误情况的发生&#xff0c;提升编码调试的效率、提高业务的可用性。 为什么说“降低…...

uniapp快速入门系列(1)- 概述与基础知识

章节三&#xff1a;抖音小程序页面开发 第1章&#xff1a;概述与基础知识1.1 uniapp简介1.1.1 什么是uniapp&#xff1f;1.1.2 为什么选择uniapp&#xff1f;1.1.3 uniapp与微信小程序的关系 1.2 HBuilderX介绍与安装1.2.1 什么是HBuilderX&#xff1f;1.2.2 HBuilderX的安装1.…...

国密国际SSL双证书解决方案,满足企事业单位国产国密SSL证书要求

近年来&#xff0c;为了摆脱对国外技术和产品的依赖&#xff0c;建设安全的网络环境&#xff0c;以及加强我国对网络信息的安全可控能力&#xff0c;我国推出了国密算法。同时&#xff0c;为保护网络通信信息安全&#xff0c;更高级别的安全加密数字证书—国密SSL证书应运而生。…...

LabVIEW开发虚拟与现实融合的数字电子技术渐进式实验系统

LabVIEW开发虚拟与现实融合的数字电子技术渐进式实验系统 数字电子技术是所有电气专业的重要学科基础&#xff0c;具有很强的理论性和实践性。其实验是提高学生分析、设计和调试数字电路能力&#xff0c;培养学生解决实际问题的工程实践能力&#xff0c;激发学生创新意识&…...

机器学习之单层神经网络的训练:增量规则(Delta Rule)

文章目录 权重的调整单层神经网络使用delta规则的训练过程 神经网络以权值的形式存储信息,根据给定的信息来修改权值的系统方法称为学习规则。由于训练是神经网络系统地存储信息的唯一途径&#xff0c;因此学习规则是神经网络研究中的一个重要组成部分 权重的调整 &#xff08…...

C# Task任务详解

文章目录 前言Task返回值无参返回有参返回 async和await返回值await搭配使用Main async改造 Task进阶Task线程取消测试用例超时设置 线程暂停和继续测试用例 多任务等最快多任务全等待 结论 前言 Task是对于Thread的封装&#xff0c;是极其优化的设计&#xff0c;更加方便了我…...

百度网盘的扩容

百度网盘的扩容怎么扩 百度网盘的扩容通常需要购买额外的存储空间。以下是扩容百度网盘存储空间的一般步骤&#xff1a; 登录百度网盘&#xff1a;首先&#xff0c;在您的计算机或移动设备上打开百度网盘&#xff0c;并使用您的百度账号登录。 选择扩容选项&#xff1a;一旦登…...

9.5 点云采样——拓扑采样

图9-5-1 PointNet++中的邻域特征聚合的拓扑采样过程 拓扑/图结构采样的核心思想是“基于点云的局部拓扑关系(如K近邻、聚类)”进行采样,通过构建点云的拓扑图或聚类结构,选取每个局部区域的代表点,实现“局部保特征、全局均匀”的采样效果。 (1)出处 &n...

从Gemini Nano到Orion Core:Google 2026 AI芯片级升级路线图(附17个真实POC性能基准数据)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini Nano到Orion Core&#xff1a;Google 2026 AI芯片级演进全景图 Google 正在以空前的系统性节奏重构其AI硬件栈——从终端侧轻量模型推理引擎 Gemini Nano&#xff0c;到2026年即将量产的全栈自研…...

从0到1掌握Ansible:让自动化运维不再是梦想

最近在公司推进自动化运维的时候&#xff0c;发现很多同事对Ansible还是一知半解&#xff0c;要么就是简单用用&#xff0c;要么就是直接放弃。其实Ansible真的没那么复杂&#xff0c;我用了这么多年&#xff0c;今天就把我的实战经验分享给大家。 说实话&#xff0c;刚开始接…...

通过Taotoken模型广场为不同视频类型选择合适的生成模型

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过Taotoken模型广场为不同视频类型选择合适的生成模型 为视频内容生成高质量的文本描述、脚本或字幕&#xff0c;是许多创作者和…...

Dify数据库查询插件:让AI应用轻松连接业务数据的实战指南

1. 项目概述与核心价值 如果你正在使用 Dify 构建企业级 AI 应用&#xff0c;并且经常需要让 AI 助手去查询数据库里的数据——比如让 LLM 帮你分析销售报表、查找用户信息或者生成业务洞察——那么你很可能遇到过这样的痛点&#xff1a;Dify 本身并不直接支持数据库连接。你需…...

ClawGuard:为Clawdbot AI智能体打造的安全监控与熔断防护系统

1. 项目概述&#xff1a;ClawGuard 是什么&#xff0c;以及为什么你需要它如果你正在使用或开发基于 Clawdbot 框架的 AI 智能体&#xff0c;那么“安全”和“可控”这两个词&#xff0c;大概率已经在你脑海里盘旋过无数次了。我接触过不少团队&#xff0c;从最初的兴奋于 AI 智…...

VisualCppRedist AIO:一站式解决Windows应用程序运行库缺失难题

VisualCppRedist AIO&#xff1a;一站式解决Windows应用程序运行库缺失难题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 在Windows系统中&#xff0c;你是否经…...

告别TwinCAT:手把手教你用LinuxCNC+IGH搭建开源EtherCAT运动控制平台

告别商业软件束缚&#xff1a;LinuxCNCIGH开源运动控制平台实战指南 在工业自动化和运动控制领域&#xff0c;商业软件长期占据主导地位&#xff0c;但高昂的授权费用和封闭的生态系统让许多工程师和创客望而却步。开源运动控制平台的出现打破了这一局面&#xff0c;为追求灵活…...

抖音下载器终极指南:3分钟实现无水印批量下载的高效解决方案

抖音下载器终极指南&#xff1a;3分钟实现无水印批量下载的高效解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback…...

Lumi Diary:基于OpenClaw Skill的本地AI记忆伴侣设计与实践

1. 项目概述&#xff1a;一个住在你设备里的记忆精灵如果你和我一样&#xff0c;对把生活点滴交给云端总有点不放心&#xff0c;但又渴望有一个能懂你、能帮你把碎片记忆编织成故事的伙伴&#xff0c;那么 Lumi Diary 的出现&#xff0c;可能正是时候。这不是又一个需要你手动打…...