博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 121 Best Time to Buy and Sell Stock
阅读量:5054 次
发布时间:2019-06-12

本文共 1110 字,大约阅读时间需要 3 分钟。

Say you have an array for which the ith element is the price of a given stock on day i.

If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.

Example 1:

Input: [7, 1, 5, 3, 6, 4]Output: 5max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)

Example 2:

Input: [7, 6, 4, 3, 1]Output: 0In this case, no transaction is done, i.e. max profit = 0.

 

思路:

比较典型的动态规划,实时更新当前出现过的最小价格,并将目前遍历到的价格与最小值比较,如果大于目前的最高收益就将最大收益更新。

 

解法:

1 public class Solution 2 { 3     public int maxProfit(int[] prices) 4     { 5         if(prices.length < 2) 6             return 0; 7  8         int maxValue = 0; 9         int minPrice = prices[0];10 11         for(int i = 0; i < prices.length; i++)12         {13             if(prices[i] < minPrice)14                 minPrice = prices[i];15             if(prices[i] - minPrice > maxValue)16                 maxValue = prices[i] - minPrice;17         }18 19         return maxValue;20     }21 }

 

转载于:https://www.cnblogs.com/wood-python/p/5827365.html

你可能感兴趣的文章
获取32位随机码(uuid)的方法
查看>>
linux内核 同步
查看>>
wamp2.4.4 如何配置虚拟主机及反向代理(解决跨域问题)
查看>>
(官网)虚幻3--入门指南: 游戏性元素
查看>>
3.2-1937 Problem D
查看>>
jquery 选择器
查看>>
Oracle表恢复(truncate)
查看>>
【转】Java 内存模型及GC原理
查看>>
Django之模板
查看>>
Linux配置Spark
查看>>
页面有特别多的多级联动怎么处理和优化
查看>>
php的function() use($args)用法
查看>>
timestamp与timedelta,管理信息系统概念与基础
查看>>
grunt环境配置打包使用01
查看>>
像这样,要像这样的研究和钻研技术,我想我们会继续走的更好!
查看>>
二叉查找树 源码实现
查看>>
Linux定时执行任务
查看>>
sqlserver2000备份数据库
查看>>
杨辉三角系数
查看>>
Java基础——注释规范
查看>>