算法
算法学习:递归搜索与动态规划 笔记合集
好的,我将对您提供的内容进行整理和补充,以便更全面地了解和理解这些算法。 买卖股票的最佳时机 在买卖股票的最佳时机问题中,我们需要找到买入和卖出股票的最佳时机以获得最大利润。这个问题可以分为两个子问题: 单次买卖股票的最大利润: 给定一个数组 prices,其中 prices[i] 表示第 i 天的股票价格。 只允许完成一次交易(即只买入和卖出一次)。 解题思路: 使用动态规划来记录每一天结束时的最大利润。 初始化一个二维数组 dp,其中 dp[i][j] 表示第 i 天持有/不持有股票的最大利润。 状态转移方程: dp[i][0] = max(dp[i-1][0], dp[i-1][1] + prices[i]) dp[i][1] = max(dp[i-1][1]