leetcode--Best Time to Buy and Sell Stock
2016-03-23 14:33
225 查看
题目大概意思是说,给一个整形数组,每个数表示股票的成交价,然后由你决定哪一天买进,哪一天卖出使得利益最大。注意一下,要先买进,同一天是可以买进卖出的,只是利益为零。
动态规划基本题,将大问题转换为一个个阶段的小问题。用buy指示在哪一天买,sell指示哪一天卖,每完成一次买卖,用profit存下获益值,每个阶段都会产生一个profit,并比较阶段内最适合的买进值,存为下一阶段的buy值。
逻辑比较简单,直接代码吧。
动态规划基本题,将大问题转换为一个个阶段的小问题。用buy指示在哪一天买,sell指示哪一天卖,每完成一次买卖,用profit存下获益值,每个阶段都会产生一个profit,并比较阶段内最适合的买进值,存为下一阶段的buy值。
逻辑比较简单,直接代码吧。
public class Solution { public int maxProfit(int[] prices) { if(prices.length==0)return 0; int buy = prices[0]; int sell = 0; int profit = 0; for(int price:prices){ sell = price; profit = Math.max(profit,sell-buy); buy = Math.min(buy,price); } return profit; } }
相关文章推荐
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C++动态规划之最长公子序列实例
- C++动态规划之背包问题解决方法
- javascript数组操作总结和属性、方法介绍
- mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
- JavaScript Array扩展实现代码
- JavaScript之数组(Array)详解
- Javascript实现Array和String互转换的方法
- C#中Array与ArrayList用法及转换的方法
- Array栈方法和队列方法的特点说明
- Array.prototype.slice 使用扩展
- Array, Array Constructor, for in loop, typeof, instanceOf
- 实例详解ECMAScript5中新增的Array方法
- Javascript数组Array基础介绍
- js Array的用法总结
- JavaScript 判断判断某个对象是Object还是一个Array
- Javascript中的Array数组对象详谈
- js模拟实现Array的sort方法
- 在javascript将NodeList作为Array数组处理的方法
- PHP array_multisort()函数的使用札记