内容简介:动态规划关键点在于profit,最终的最优解,即为在每步最优解中取最优解
https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
动态规划
关键点在于profit,最终的最优解,即为在每步最优解中取最优解
建立一个profits数组存储每天最优解,最终选择最优解,当然这里要时刻跟踪最小值。
var maxProfit = function(prices) {
var profits = [];
var minPrice = prices[0];
for (let i = 0; i < prices.length; i++) {
minPrice = Math.min(minPrice, prices[i]);
profits[i] = prices[i] - minPrice;
}
return Math.max(...profits);
};
优化后:
var maxProfit = function(prices) {
var minPrice = Number.MAX_VALUE, maxProfit = 0;
for (var i = 0; i < prices.length; i++) {
minPrice = Math.min(minPrice, prices[i]);
var profit = prices[i] - minPrice;
maxProfit = Math.max(maxProfit, profit);
}
return maxProfit;
};
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Leetcode 121 Best time to buy and sell stock
- LeetCode - 121 - 买卖股票的最佳时机(best-time-to-buy-and-sell-stock)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
你不知道的JavaScript(上卷)
[美] Kyle Simpson / 赵望野、梁杰 / 人民邮电出版社 / 2015-4 / 49.00元
JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能全面的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无......一起来看看 《你不知道的JavaScript(上卷)》 这本书的介绍吧!