动态规划
mmmayang
冲
展开
-
杨辉三角 II 解题思路
119、杨辉三角 II本案例复制自LeetCode给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: rowIndex = 3输出: [1,3,3,1]示例 2:输入: rowIndex = 0输出: [1]解题思路:根据DP动态规划,根据上一次DP记录下来的状态,进行倒序算值,因为正序会破坏上一个状态的值,导致往后走不对,所以我们这里采用倒序的方式,不影响上一个位置的值,能够计算成功原创 2021-07-25 12:55:20 · 232 阅读 · 0 评论 -
DP解决硬币零钱问题
322. 零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1 说明:你可以认为每种硬币的数量是无限的。代码:class Solution {原创 2020-09-20 22:13:47 · 282 阅读 · 0 评论 -
买卖股票最佳时机(多例题)
买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。 示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能原创 2020-07-10 09:48:33 · 252 阅读 · 0 评论 -
常规动态规划(不同路径)
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[ [0,0,0], [0,1,0], [0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从原创 2020-07-06 09:40:46 · 254 阅读 · 0 评论