恒生笔试

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]
}
未解出,不知是否正确
全部评论

相关推荐

1 3 评论
分享
牛客网
牛客企业服务