力扣 买卖股票的最佳时机

ops/2025/2/22 15:55:30/

贪心算法典型例题。

题目

做过股票交易的都知道,想获取最大利润,就得从最低点买入,最高点卖出。这题刚好可以用暴力,一个数组中找到最大的数跟最小的数,然后注意一下最小的数在最大的数前面即可。从一个数组中选两个数作比较,可以选用两个for循环。这题用dp同理,不过dp数组存状态是多余的。

时间复杂度: O(n^2),空间复杂度: O(1)。

public class Solution {public int maxProfit(int[] prices) {int max = 0;for (int i = 0; i < prices.length - 1; i++) {for (int j = i + 1; j < prices.length; j++) {int profit = prices[j] - prices[i];if (profit > max) {max = profit;}}}return max;}
}

不过超时了,可以优化一下,从前往后遍历,每遍历到一个数,即每去到一天时,去存最低价跟最大利润,因为最低价购入可以得到更大利润,最高价直接更新最大利润。

时间复杂度: O(n),空间复杂度: O(1)。

public class Solution {public int maxProfit(int[] prices) {int pre = prices[0];int ans = 0;for (int i = 0; i < prices.length; i++) {ans = Math.max(ans, prices[i] - pre);pre = Math.min(pre, prices[i]);}return ans;}
}

贪心的策略是,每到一个数可存到一个局部最优解,而遍历完后做一次次更新去得到目标值。 


http://www.ppmy.cn/ops/160268.html

相关文章

BFS与Flood Fill:算法原理、实现细节与复杂度分析

目录 1. 概述 2. BFS 的基本原理 3. Flood Fill 算法 4. BFS 实现 Flood Fill 的步骤 5. C 实现 6. 代码解析 7. 复杂度分析 8. 应用场景 总结 1. 概述 Flood Fill 算法是一种用于填充封闭区域的算法&#xff0c;常用于图像处理、绘图工具和游戏开发中。BFS&#xff08…

使用linux脚本部署discuz博客(详细注释版)

使用脚本部署一个discuzz项目 1.显示当前环境状态 防火墙状态 selinux状态 httpd状态 由上可知&#xff0c;虚拟机已处于最初始状态 2.脚本编写 #!/bin/bash #这是一个通过脚本来部署discuzz博客 firewalld关闭 systemctl stop firewalld if [ $? -eq 0 ];then echo "…

工业安全的智能哨兵:AI如何筑起生产线的“数字防火墙“

工业安全的智能哨兵:AI如何筑起生产线的"数字防火墙" (本文共1420字,阅读约需4分钟) 去年某石化厂的反应釜压力数据出现异常波动,传统监测系统在15分钟后才发出警报——而AI模型在23秒前就已预警。这场未遂事故揭示了一个残酷现实:工业安全监测正在经历从&qu…

ComfyUI多功能插件安装-Comfy UI Manager

原生ComfyUI中的节点内容较少&#xff0c;在使用过程中所需要的很多实用插件没有 可以安装 Comfy UI Manager 以帮助我们更高效率的使用ComfyUI&#xff08;Comfy UI Manager 也相当于一个节点&#xff0c;但是可以管理、更新其他实用节点&#xff09; ComfyUI是由Dr.Lt.Data开…

使用Java爬虫获取1688按图搜索商品(拍立淘API接口)

在电商领域&#xff0c;按图搜索商品&#xff08;拍立淘&#xff09;是一种非常实用的功能&#xff0c;尤其适合用户通过图片快速查找相似商品。1688开放平台提供了按图搜索商品的API接口&#xff0c;允许开发者通过图片获取相关的商品信息。本文将详细介绍如何使用Java爬虫技术…

前端框架Vue内容回顾

前端面试 Vue 必备内容详解 如果你正在准备 Vue 相关的前端面试,这份详细指南将帮助你掌握 Vue 核心知识,助你高效备战面试。 1. Vue 基础知识 1.1 Vue 的核心概念 声明式渲染:Vue 采用数据驱动视图的方式,通过 {{ }} 语法或 v-bind 绑定数据,无需手动操作 DOM。组件化开…

【Film】论文:2024 视频生成可以取代摄影师吗?生成视频的电影语言研究

Computer Science > Computer Vision and Pattern Recognition 计算机科学 > 计算机视觉和模式识别 [Submitted on 16 Dec 2024] [2024 年 12 月 16 日提交] 作者没有给出数据集,也没有给出代码 ,囧这个是视频生成领域的 文本控制的电影语言视频生成 Can video generat…

从Majorana 1芯片看微软量子计算路径及竞品对比分析

一、引言 1.1 研究背景与意义 在科技飞速发展的当下,量子计算已成为全球瞩目的前沿领域,被视为引领未来科技变革的关键力量。量子计算利用量子比特的叠加和纠缠等量子特性,能够实现远超传统计算机的计算能力,在解决复杂科学问题、优化算法以及推动多领域创新等方面展现出…