贪心算法-买卖股票的最佳时机
买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天
的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股
票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。
输入:整型数组
输出:整型变量
思路:通过求解当天与前一天的差,得到该题可以转换为求子数组的最大值
class Solution {public int maxProfit(int[] prices) {//定义新的数组来维护int[] tmpNum = new int[prices.length];tmpNum[0] = 0;//定义preint pre = 0;int maxNum = 0;for(int i = 1;i < prices.length;i++){tmpNum[i] = prices[i] - prices[i-1];}for(int x : tmpNum){pre = Math.max(pre + x,x);maxNum = Math.max(pre,maxNum);}return maxNum;}
}
然后使用贪心算法
class Solution {public int maxProfit(int[] prices) {//每次都进行维护int minPrice = Integer.MAX_VALUE;int maxprofit = 0;for(int x : prices){//更新最大利润maxprofit = Math.max(maxprofit,x - minPrice);//更新最小值minPrice = Math.min(minPrice,x);}return maxprofit;}
}
相关文章:
贪心算法-买卖股票的最佳时机
买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天 的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股 票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易…...
文本操作基础知识:正则表达式
目录 摘要: 一、语法 二、匹配模式pattern 1、普通字符[ ] 2、限定字符 3、定位字符 4、运算字符( ) 三、修饰符flags 四、各语言的正则使用 1、Python的re 参考资料: 摘要: 常用匹配:[A-C]、[^A-C]、\w、\d、\n、\r、…...
【Scrapy】Scrapy教程6——提取数据
前一小节我们拿到了页面的数据,那页面中那么多内容,我们想要其中的部分内容,该如何获取呢?这就需要对我们下载到的数据进行解析,提取出来想要的数据,这节就讲讲如何提取数据。 引入 我们编辑保存下来的shouye.html文件看下,发现这是什么鬼,全是如下图的代码。 没错…...
PHP 网络编程介绍
PHP 学习资料 PHP 学习资料 PHP 学习资料 在当今数字化时代,网络编程是开发各类应用必不可少的技能。PHP 作为一门广泛应用于 Web 开发的编程语言,同样具备强大的网络编程能力。接下来,我们将深入探讨 PHP 中网络连接的建立、Socket 编程、…...
【C语言】C语言 食堂自动化管理系统(源码+数据文件)【独一无二】
👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 【C语言】C语言 食堂自动化管理系统(源…...
mybatis存储过程返回list
在MyBatis中,要想通过调用存储过程返回一个List集合,你需要在Mapper接口中定义一个方法,并使用Param注解来传递存储过程的参数。同时,你需要在Mapper XML文件中配置相应的<select>标签,并指定statementType"…...
【vue】nodejs版本管理利器:nvm
nvm(Node Version Manager)即 Node 版本管理器,是一个用于在系统中轻松安装、管理和切换不同版本 Node.js 的工具。 在实际开发中,不同的项目可能基于不同版本的 Node.js 构建。比如一个旧项目依赖于 Node.js 12.x 版本的特定功能…...
负载测试工具有哪些?
Apache JMeter Apache JMeter 是一款开源的性能测试工具,主要用于对 Web 应用程序进行功能、负载和压力测试。JMeter 支持多种协议和技术,包括 HTTP, HTTPS, FTP 和 WebSocket 等。通过模拟大量并发用户访问来评估应用程序的表现1。 jmeter -n -t testp…...
路由基础 | 路由引入实验 | 不同路由引入方式存在的问题
注:本文为 “路由基础 | 路由表 | 路由引入” 相关文章合辑。 未整理去重。 路由基本概念 1—— 路由表信息、路由进表以及转发流程、最长掩码匹配原则 静下心来敲木鱼已于 2023-11-26 14:06:22 修改 什么是路由 路由就是指导报文转发的路径信息,可以…...
网络安全不分家 网络安全不涉及什么
何为网络安全 信息安全是指系统的硬件、软件及其信息受到保护,并持续正常运行和服务。信息安全的实质是保护信息系统和信息资源免受各种威胁、干扰和破坏,即保证信息的安全性。 网络安全是指利用网络技术、管理和控制等措施,保证网络系统和…...
智能编程助手功能革新与价值重塑之:GitHub Copilot
引言: GitHub Copilot 的最新更新为开发者带来了显著变化,其中 Agent Mode 功能尤为引人注目。该模式能够自动识别并修复代码错误、自动生成终端命令,并具备多级任务推理能力,这使得开发者在开发复杂功能时,可大幅减少…...
wordpress企业官网建站的常用功能
WordPress 是一个功能强大的内容管理系统(CMS),广泛用于企业官网的建设。以下是企业官网建站中常用的 WordPress 功能: 1. 页面管理 自定义页面模板:企业官网通常需要多种页面布局,如首页、关于我们、产品展示、联系我们等。Wor…...
讯方·智汇云校华为官方授权培训机构
1.官方授权 讯方智汇云校是华为领先级授权培训机构(华为授权培训合作伙伴(HALP)体系,分为认证、优选、领先三个等级,领先级是HALP最高级),代表着华为对培训合作伙伴在专业能力、师资队伍、合作…...
C语言中的文件
文章目录 文件1. 流1.1 文件缓冲1.2 标准流1.3 文本文件和二进制文件 2. 打开/关闭文件2.1 fopen2.2 fclose 3. 读写文件3.1 fgetc & fputc3.2 fgets & futs3.3 fscanf & fprintf3.4 fread & fwrite 4. 文件定位5. 错误处理5.1 errno 文件 1. 流 在 C 语言中…...
利用分治策略优化快速排序
1. 基本思想 分治快速排序(Quick Sort)是一种基于分治法的排序算法,采用递归的方式将一个数组分割成小的子数组,并通过交换元素来使得每个子数组元素按照特定顺序排列,最终将整个数组排序。 快速排序的基本步骤&#…...
前端工程化的具体实现细节
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
数据分析--数据清洗
一、数据清洗的重要性:数据质量决定分析成败 1.1 真实案例警示 电商平台事故:2019年某电商大促期间,因价格数据未清洗导致错误标价,产生3000万元损失医疗数据分析:未清洗的异常血压值(如300mmHgÿ…...
✨1.HTML、CSS 和 JavaScript 是什么?
✨✨ HTML、CSS 和 JavaScript 是构建网页的三大核心技术,它们相互协作,让网页呈现出丰富的内容、精美的样式和交互功能。以下为你详细介绍: 🦋1. HTML(超文本标记语言) 定义:HTML 是一种用于描…...
QT--常用对话框
文章目录 前言一、颜色对话框颜色对话框代码解析 二、文本对话框文本对话框代码解析 三、输入对话框1.整型输入对话框2.浮点数输入对话框3.条目对话框 四、提示对话框1.提问对话框2.消息对话框3.警告对话框4.关键对话框 五、进度对话框六、向导对话框总结 前言 今天介绍几种标…...
基于 Ollama 工具的 LLM 大语言模型如何部署,以 DeepSeek 14B 本地部署为例
简简单单 Online zuozuo :本心、输入输出、结果 文章目录 基于 Ollama 工具的 LLM 大语言模型如何部署,以 DeepSeek 14B 本地部署为例前言下载 Ollama实际部署所需的硬件要求设置 LLM 使用 GPU ,发挥 100% GPU 性能Ollama 大模型管理命令大模型的实际运行资源消耗基于 Ollam…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
