恒生笔试
20240409,给定一段时间内股票价格波动,计算这段时间内通过买入卖出可以获得的最大利润
var maxProfit = function (prices) {
var dp = new Array(prices.length).fill(0);
if (prices.length >= 2) {
if (prices[1] > prices[0])
dp[1] = prices[1] - prices[0]
}
for (let i = 2; i < prices.length; i++) {
if (prices[i] > prices[i - 1]) {
conprofit = prices[i] - prices[i - 1]
}
else { conprofit = 0 }
dp[i] = Math.max(dp[i - 1], dp[i - 2] + conprofit)
}
return dp[prices.length - 1]
}
未解出,不知是否正确
var maxProfit = function (prices) {
var dp = new Array(prices.length).fill(0);
if (prices.length >= 2) {
if (prices[1] > prices[0])
dp[1] = prices[1] - prices[0]
}
for (let i = 2; i < prices.length; i++) {
if (prices[i] > prices[i - 1]) {
conprofit = prices[i] - prices[i - 1]
}
else { conprofit = 0 }
dp[i] = Math.max(dp[i - 1], dp[i - 2] + conprofit)
}
return dp[prices.length - 1]
}
未解出,不知是否正确
全部评论
相关推荐
投递英伟达等公司10个岗位 >
点赞 评论 收藏
转发
05-11 12:33
中国地质大学(武汉) 计算机类 点赞 评论 收藏
转发