股票的最大利润(java算法题,动态规划法的应用)
一、题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
二、示例 :
输入: [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;}
四、分析:
- 设利润profit初值为0,min为遍历过程中的最小值。
- 如果min>prices[i],说明当前min不是最小的,更新min。
- 如果min<=prices[i],说明当前的min是最小的,用当前价格减去min,得利润差(只有当前价格大于之前遍历中的最小值,才有利润)。拿所得结果与之前存储的最大利润作比较,取最大值。
- 此题是典型的动态规划法的应用。
股票的最大利润(java算法题,动态规划法的应用)相关推荐
- 我整理了50道经典Java算法题,直接进了字节跳动!!
写在前面 最近,很多小伙伴都想进入字节跳动这个快速发展的公司,而字节跳动对于算法的要求比较高.于是乎,有些小伙伴问我能否整理一些基础的算法题,帮助他们提升下基础算法能力.我:没问题啊!于是,经过半个多 ...
- 悲哀!面试现场,简单几道java算法题,90%程序员没写出来
这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严 ...
- Java算法题:Z字形变换
Java算法题:Z字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行 ...
- 惊!面试现场,简单几道java算法题,90%程序员没写出来
近几个月很多大学实习生离校找实习工作去了,本以为自己很值钱,实际上发现自己并不值钱,想象着自己能赚很多钱了,结果只能拿到一点微薄的工资,很多人会怪公司给的少,但是你有没有想过,你自己的技术值多少钱?你 ...
- 【Java算法题】剑指offer_数据结构之03队列栈
前言 刷题链接: https://www.nowcoder.com/exam/oj/ta?page=2&tpId=13&type=265 原定于5.30写完队列&栈,超时了14 ...
- 中软国际Java机试,阿里Java算法题
拼多多三面惨败,java中间件.数据库与spring框架,答不上- 面试开火箭,工作拧螺丝-月初有个朋友面试拼多多,一面自信满满过了,结果三面却惨败-昨天朋友约我出来讨论问题在哪里,三面就答不上了(卡 ...
- Java 算法题 一
/** *//**父子俩的年龄:父亲今年30岁,儿子今年6岁,问多少年后父亲的年龄是儿子年龄的2倍.*/ package exec; public class Age { public static ...
- 【java算法题大全】设计一个抽奖程序,要求已经抽过的不能再抽,可以自定义参加抽奖人数以及奖品
1.首先我们先看一下这道题的思路 2.设计程序 3.进行main方法测试,直接调用我们设计的程序方法 4.查看测试结果 5.知识点详解 1.Scanner : java.util.Scanner 是 ...
- java算法题常用到的一些api,含面试题+答案
一面(电话面+后期在线coding) ①你们为什么要使用mongdoDb?你们的这个系统中涉及到哪些表? ②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到 ...
最新文章
- java代码(dex)注入
- javaList容器中容易忽略的知识点
- python爬取素材图片代码_基于Python爬取素材网站音频文件
- SharePoint2010 连接配置数据库字符串保存位置(转)
- Python中FileIO
- 兼顾pc和移动端的textarea字数监控的实现方法
- C#解析HL7协议数据2.X
- html中页面跳转以及传值的处理
- 信号的频谱分析,加噪降噪处理
- 顺序队列,链队列的基本操作
- intel rst linux 驱动下载,下载:Intel RST存储驱动10.1.2.1004
- GBK,UTF8是什么?
- 高端大气的艺术海报的ps教程
- aix 查询db2客户端版本_怎么看DB2的版本啊?
- 【51单片机】矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤
- gulp-less解决遇到错误停止执行task
- 265行代码实现第一人称游戏引擎
- 2022中央财经大学计算机考研,2021-2022年中央财经大学会计专硕考研成功上岸经验分享...
- oracle精度说明符1~38_ORACLE 中NUMBER类型默认的精度和Scale问题
- 《自律给你自由》--思维导图