leetcode 刷题 log day 49
创始人
2024-04-14 15:48:45
0
  • 121. 买卖股票的最佳时机
    思路】每天只有两种状态:持有股票或者不持有股票,持有股票时又分为前一天不持有买入股票和前一天持有股票保持两种情况。不持有股票也分为前一天持有股票卖出和前一天不持有股票保持两种情况。分别选取每种状态的两种情况的最大值。

    var maxProfit = function(prices) {let dp = new Array(prices.length).fill([0, 0]);dp[0] = [-prices[0], 0];for (let i = 1; i < prices.length; i++) {dp[i] = [Math.max(dp[i - 1][0], -prices[i]),  // 持有股票:昨天不持有或今天买入(因为只能买入一次,所以为 -prices[i])Math.max(dp[i - 1][1], dp[i - 1][0] + prices[i])  // 不持有股票:昨天不持有或今天卖出]}return dp[prices.length - 1][1];  // 最终手里不持有股票才能收益最大化
    };
    
  • 122. 买卖股票的最佳时机II
    思路】这道题比上一道多了条件可以多次买入,所以递推公式有区别,其余一样。

    // 贪心
    var maxProfit = function(prices) {// 价格递增的话就每天买入买出let res = 0;for (let i = 1; i < prices.length; i++) {if (prices[i] - prices[i - 1] > 0) res += prices[i] - prices[i - 1];}return res;
    };// 动规
    var maxProfit = function(prices) {let dp = new Array(prices).fill([0, 0]);dp[0] = [-prices[0], 0];for (let i = 1; i < prices.length; i++) {dp[i] = [Math.max(dp[i - 1][1] - prices[i], dp[i - 1][0]),  // 第 i 天持有:前一天不持有且 i 天买入股份或前一天不持有(因为可以多次买入,所以买入股票时等于前一天不持有股票的收益减去股票价格)Math.max(dp[i - 1][0] + prices[i], dp[i - 1][1])  // 第 i 天不持有:前一天持有且 i 天卖出或前一天不持有]}return dp[prices.length - 1][1];  // 最终手里不持有股票才能收益最大化
    }
    

参考代码随想录:https://www.programmercarl.com/

相关内容

热门资讯

每日机构分析:7月7日 转自:新华财经巴克莱:泰国央行或保留货币政策空间,2025年通胀预测面临下行风险摩根士丹利:美国经济...
投资者提问:贵公司是否有研发关... 投资者提问:贵公司是否有研发关于对创新药的伴随诊断试剂?董秘回答(艾德生物SZ300685):您好。...
“尖刀·使命”2025年全国公... 转自:公安部新闻传媒“尖刀·使命”2025年全国公安特警挑战赛7月7日在新疆乌鲁木齐开幕。本次挑战赛...
投资者提问:尊敬的董秘,您好!... 投资者提问:尊敬的董秘,您好!请问一台新能源汽车需要多少稀土,目前公司有对小米汽车供货稀土吗?谢谢!...
时隔九年!济川药业小儿便通颗粒...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!   文/Hehson...
泡泡小火锅加盟费用多少钱 加盟... 泡泡小火锅的加盟与智慧之选是非常火热的,但是部分加盟商虽然有心进行相应的智慧之选,却对相应的加盟优势...
泡泡小火锅加盟费多少钱 泡泡小... -乐可可国际餐饮管理(北京)有限公司是一家集火锅底料研发、生产、加工、物流、销售和火锅餐饮经营于一体...
鸿路钢构:上半年累计新签销售合... 鸿路钢构晚间发布2025年半年度经营情况简报,公司1—6月累计新签销售合同额约143.8亿元,较20...
AI入侵财税界,抢占万亿市场,...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 堆成山的发票、反复核...
邵永铁路全线首座连续梁成功合龙 长沙晚报掌上长沙7月7日讯(全媒体记者 吴鑫矾 通讯员 汪兴祁 董剑锋)7月6日凌晨,由沪昆客专湖南...