一、题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?

二、示例 :

输入: [7,1,5,3,6,3]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
     注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。如果价格一直在降,最大利润可以是0。

三、代码:

public int maxProfit(int[] prices) {if(prices==null || prices.length <= 1){return 0;}int profit = 0;int min = prices[0];for(int i = 1;i<prices.length;i++){if(min>prices[i]){min = prices[i];}else{profit = Math.max(profit,prices[i]-min);}}return profit;}

 四、分析:

  1. 设利润profit初值为0,min为遍历过程中的最小值。
  2. 如果min>prices[i],说明当前min不是最小的,更新min。
  3. 如果min<=prices[i],说明当前的min是最小的,用当前价格减去min,得利润差(只有当前价格大于之前遍历中的最小值,才有利润)。拿所得结果与之前存储的最大利润作比较,取最大值。
  4. 此题是典型的动态规划法的应用。

股票的最大利润(java算法题,动态规划法的应用)相关推荐

  1. 我整理了50道经典Java算法题,直接进了字节跳动!!

    写在前面 最近,很多小伙伴都想进入字节跳动这个快速发展的公司,而字节跳动对于算法的要求比较高.于是乎,有些小伙伴问我能否整理一些基础的算法题,帮助他们提升下基础算法能力.我:没问题啊!于是,经过半个多 ...

  2. 悲哀!面试现场,简单几道java算法题,90%程序员没写出来

    这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严 ...

  3. Java算法题:Z字形变换

    Java算法题:Z字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行 ...

  4. 惊!面试现场,简单几道java算法题,90%程序员没写出来

    近几个月很多大学实习生离校找实习工作去了,本以为自己很值钱,实际上发现自己并不值钱,想象着自己能赚很多钱了,结果只能拿到一点微薄的工资,很多人会怪公司给的少,但是你有没有想过,你自己的技术值多少钱?你 ...

  5. 【Java算法题】剑指offer_数据结构之03队列栈

    前言 刷题链接: https://www.nowcoder.com/exam/oj/ta?page=2&tpId=13&type=265 原定于5.30写完队列&栈,超时了14 ...

  6. 中软国际Java机试,阿里Java算法题

    拼多多三面惨败,java中间件.数据库与spring框架,答不上- 面试开火箭,工作拧螺丝-月初有个朋友面试拼多多,一面自信满满过了,结果三面却惨败-昨天朋友约我出来讨论问题在哪里,三面就答不上了(卡 ...

  7. Java 算法题 一

    /** *//**父子俩的年龄:父亲今年30岁,儿子今年6岁,问多少年后父亲的年龄是儿子年龄的2倍.*/ package exec; public class Age { public static ...

  8. 【java算法题大全】设计一个抽奖程序,要求已经抽过的不能再抽,可以自定义参加抽奖人数以及奖品

    1.首先我们先看一下这道题的思路 2.设计程序 3.进行main方法测试,直接调用我们设计的程序方法 4.查看测试结果 5.知识点详解 1.Scanner : java.util.Scanner 是 ...

  9. java算法题常用到的一些api,含面试题+答案

    一面(电话面+后期在线coding) ①你们为什么要使用mongdoDb?你们的这个系统中涉及到哪些表? ②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到 ...

最新文章

  1. java代码(dex)注入
  2. javaList容器中容易忽略的知识点
  3. python爬取素材图片代码_基于Python爬取素材网站音频文件
  4. SharePoint2010 连接配置数据库字符串保存位置(转)
  5. Python中FileIO
  6. 兼顾pc和移动端的textarea字数监控的实现方法
  7. C#解析HL7协议数据2.X
  8. html中页面跳转以及传值的处理
  9. 信号的频谱分析,加噪降噪处理
  10. 顺序队列,链队列的基本操作
  11. intel rst linux 驱动下载,下载:Intel RST存储驱动10.1.2.1004
  12. GBK,UTF8是什么?
  13. 高端大气的艺术海报的ps教程
  14. aix 查询db2客户端版本_怎么看DB2的版本啊?
  15. 【51单片机】矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤
  16. gulp-less解决遇到错误停止执行task
  17. 265行代码实现第一人称游戏引擎
  18. 2022中央财经大学计算机考研,2021-2022年中央财经大学会计专硕考研成功上岸经验分享...
  19. oracle精度说明符1~38_ORACLE 中NUMBER类型默认的精度和Scale问题
  20. 《自律给你自由》--思维导图

热门文章

  1. 前端三大框架,你更喜欢哪个?
  2. WebFlux 简介
  3. C++ 函数匹配 重载函数的调用规则
  4. 人、狼、羊、草过河的小游戏Python实现
  5. 美国移动运营商ATT服务故障,导致大范围用户无法寻求紧急救助服
  6. 【无标题】平方和与立方和
  7. linux wifi连接上不能上网
  8. 【MAPBOX基础功能】26、mapbox地图基础工具 -定位到指定的位置
  9. 16个自动化测试面试问题与解答
  10. 最小二乘法的一阶、二阶辨识系统