Leetcode 121 Best time to buy and sell stock

栏目: 编程工具 · 发布时间: 7年前

内容简介:动态规划关键点在于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;
};

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你不知道的JavaScript(上卷)

你不知道的JavaScript(上卷)

[美] Kyle Simpson / 赵望野、梁杰 / 人民邮电出版社 / 2015-4 / 49.00元

JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能全面的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无......一起来看看 《你不知道的JavaScript(上卷)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具