149. 买卖股票的最佳时机

描述

假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。

样例 1:

输入: [3, 2, 3, 1, 2]
输出: 1
说明:你可以在第三天买入,第四天卖出,利润是 2 - 1 = 1

样例 2:

输入: [1, 2, 3, 4, 5]
输出: 4
说明:你可以在第0天买入,第四天卖出,利润是 5 - 1 = 4

样例 3:

输入: [5, 4, 3, 2, 1]
输出: 0
说明:你可以不进行任何操作然后也得不到任何利润

原题传送门


文章目录

  • 149. 买卖股票的最佳时机
    • 描述
    • 样例 1:
    • 样例 2:
    • 样例 3:
  • 题解
  • 最后说两句
  • 声明

题解

public class Solution {/*** @param prices: Given an integer array* @return: Maximum profit*/public int maxProfit(int[] prices) {// write your code hereint n = prices.length;int maxIndex  = 0;int minIndex  = 0;int maxProfit = 0;for (int i = 1; i < n; ++i) {if (prices[i] > prices[maxIndex]) {maxIndex = i;if (prices[maxIndex] - prices[minIndex] > maxProfit) {maxProfit = prices[maxIndex] - prices[minIndex];}} else if (prices[i] < prices[minIndex]) {minIndex = i;maxIndex = i;}}return maxProfit;}
}

最后说两句

非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~

作者水平有限,如果文章内容有不准确的地方,请指正。

希望小伙伴们都能每天进步一点点。

声明

本文由二当家的白帽子博客原创,转载请注明来源,谢谢~

LintCode领扣算法问题答案:149. 买卖股票的最佳时机相关推荐

  1. LintCode领扣算法问题答案:150. 买卖股票的最佳时机 II

    150. 买卖股票的最佳时机 II 描述 给定一个数组 prices 表示一支股票每天的价格. 你可以完成任意次数的交易, 不过你不能同时参与多个交易 (也就是说, 如果你已经持有这支股票, 在再次购 ...

  2. 力扣算法JS LC [714. 买卖股票的最佳时机含手续费] LC [968. 监控二叉树]

    LC 714. 买卖股票的最佳时机含手续费 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你 ...

  3. 【精】LintCode领扣算法问题答案:入门

    文章目录 23. 判断数字与字母字符 描述 题解 25. 打印X 描述 题解 37. 反转一个3位整数 描述 题解 145. 大小写转换 描述 题解 366. 斐波纳契数列 描述 题解 454. 矩阵 ...

  4. LintCode领扣算法问题答案:501. 迷你推特

    501. 迷你推特 描述 实现一个迷你的推特,支持下列几种方法 postTweet(user_id, tweet_text). 发布一条推特. getTimeline(user_id). 获得给定用户 ...

  5. 【精】LintCode领扣算法问题答案:1029. 寻找最便宜的航行旅途(最多经过k个中转站)

    1029. 寻找最便宜的航行旅途(最多经过k个中转站) 描述 有n个城市被一些航班所连接.每个航班 (u,v,w) 从城市u出发,到达城市v,价格为w. 给定城市数目 n,所有的航班flights.你 ...

  6. LintCode领扣算法问题答案:374. 螺旋矩阵

    374. 螺旋矩阵 描述 给定一个包含 m x n 个要素的矩阵,(m 行, n 列),按照螺旋顺序,返回该矩阵中的所有要素. 样例 1: 输入:[[ 1, 2, 3 ], [ 4, 5, 6 ], ...

  7. 【精】LintCode领扣算法问题答案:1084. “马”在棋盘上的概率

    1084. "马"在棋盘上的概率 描述 已知一个 NxN 的国际象棋棋盘,棋盘的行号和列号都是从 0 开始.即最左上角的格子记为 (0, 0),最右下角的记为 (N-1, N-1) ...

  8. 【精】LintCode领扣算法问题答案:306. 商品列表

    306. 商品列表: 有一个商品列表,该列表是由L1.L2两个子列表拼接而成.当用户浏览并翻页时,需要从列表L1.L2中获取商品进行展示.展示规则如下: 用户可以进行多次翻页,用offset表示用户已 ...

  9. 【精】LintCode领扣算法问题答案:1086. 重复字符串匹配

    1086. 重复字符串匹配: 给定两个字符串A和B,找到A必须重复的最小次数,以使得B是它的子字符串. 如果没有这样的解决方案,返回-1. A和B的长度在1到10000之间. 样例 1 输入 : A ...

最新文章

  1. seaborn 笔记:load_dataset
  2. python库整理:networkx 包
  3. 程序员在未来会变成廉价劳动力(农民工)吗?
  4. HTML标记之Form表单
  5. Spring MVC + Spring + Hibernate + mysql 注册登陆入门实例
  6. php网页登录制作,thinkphp5 系统登录的实现
  7. codeblocks下载安装及问题解决
  8. 故障树分析法(FTA)
  9. pg数据库的一些问题
  10. java使用itext7实现html转pdf
  11. ORACLE 商业收费标准
  12. python读取图片信息_笔记整理4——python实现提取图片exif信息
  13. 深度学习——keras教程系列基础知识
  14. 淘宝api,各种接口
  15. Gartner:上云步伐加速,中国公有云部署最佳实践
  16. 致初级软件开发人员并自勉
  17. 十六进制转十进制-华为算法题
  18. 知识普及篇——动手做foc无刷电机电子调速器
  19. javax.validation.constraints.NotNull找不到
  20. ubutun安装与卸载软件

热门文章

  1. 马斯洛理论告诉你,Kubernetes可以满足微服务的这些需求
  2. 解决win7开机黑屏方法
  3. 9 个最佳的 Sublime Text 3主题
  4. OT算法在协同编辑器中的应用
  5. 网络爬虫-通过百度百科查询行政区划代码
  6. 空头来势汹汹,多头节节败退
  7. 创新声卡的设置和调试
  8. HDMI CEC协议
  9. 物联网操作系统应该怎么选?
  10. 蓝桥杯基础练习超全习题题解VIP版——BASIC-26.报时助手(护眼版)