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

【面试经典150题】买卖股票的最佳时机

题目链接

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

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

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

  • 1 <= prices.length <= 1 0 5 10^5 105
  • 0 <= prices[i] <= 1 0 4 10^4 104

思路:

从前往后遍历,维护一个当前最低价格minPrice,和最大利益_maxProfit

/*** @param {number[]} prices* @return {number}*/
var maxProfit = function(prices) {if (prices.length <= 1) {return 0;}let minPrice=prices[0];let _maxProfit=0;for(let i=1;i<prices.length;i++){if(prices[i]<minPrice){minPrice=prices[i];}else{_maxProfit=Math.max(_maxProfit,prices[i]-minPrice);}}return _maxProfit;
};

时间复杂度:O(n)

空间复杂度:O(1)

http://www.lryc.cn/news/153381.html

相关文章:

  • selenium可以编写自动化测试脚本吗?
  • CXL.mem M2S Message 释义
  • 使用boost::geometry::union_ 合并边界(内、外):方案二
  • ICCV 2023 | 小鹏汽车纽约石溪:局部上下文感知主动域自适应LADA
  • stable diffusion实践操作-黑白稿线稿上色
  • Python学习教程:集合操作的详细教程
  • 球球的排列
  • 1783_CMD启动MATLAB同时执行一个脚本
  • C语言中内存分配的几种方式
  • 组相联cache如何快速实现cache line eviction并使用PMU events验证
  • 【Stable Diffusion安装】支持python3.11 window版
  • Anycloud37D平台移植wirelesstools
  • 海康机器人工业相机 Win10+Qt+Cmake 开发环境搭建
  • 使用MDK5的一些偏僻使用方法和谋个功能的作用
  • 【实战】十一、看板页面及任务组页面开发(六) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十八)
  • 在 Amazon 搭建无代码可视化的数据分析和建模平台
  • Pinely Round 2 (Div. 1 + Div. 2) G. Swaps(组合计数)
  • elasticSearch+kibana+logstash+filebeat集群改成https认证
  • GPT带我学-设计模式-迭代器模式
  • 数学建模--层次分析法(AHP)的Python实现
  • 机器学习笔记之最优化理论与方法(三)凸集的简单认识(下)
  • Apipost:API文档、调试、Mock与测试的一体化协作平台
  • Homebrew下载安装及使用教程
  • 【Codeforces】CF193D Two Segments
  • 内存管理概述
  • Spring的重试机制-SpringRetry
  • 水稻叶病害数据集(目标检测,yolo使用)
  • 鸿蒙系列-如何使用好 ArkUI 的 @Reusable?
  • 展锐平台音频框架
  • webpack loader和plugins的区别