
动规
动规
萌的咋会有
愿下辈子不用配环境
展开
-
刷题-Leetcode-面试题 08.01. 三步问题
面试题 08.01. 三步问题题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/three-steps-problem-lcci/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目分析注意取模以及vector定义的时候使用long。class Solution {public: int waysToStep(int n) { vector<long>原创 2022-02-14 10:56:28 · 336 阅读 · 0 评论 -
刷题-Leetcode-91. 解码方法
91. 解码方法题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/decode-ways/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析动态规划dp[i]表示前i个字符串解码方法的个数。class Solution {public: int numDecodings(string s) { int n = s.size(); s = ' ' +原创 2021-09-27 10:14:14 · 171 阅读 · 0 评论 -
刷题-Leetcode-84. 柱状图中最大的矩形
84. 柱状图中最大的矩形题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析双指针时间复杂度o(n2),力扣上通不过动态规划记录 每个柱子 左边第一个小于当前柱子的下标右边第一个小于当前柱子的下标class Solution {public: int largestR原创 2021-09-17 12:47:09 · 202 阅读 · 0 评论 -
刷题-Leetcode-42. 接雨水
503. 下一个更大元素 II题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/next-greater-element-ii/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析拼接两个数组,扩充nums遍历的过程中模拟走两遍numsclass Solution {public: vector<int> nextGreaterElements(vector<int原创 2021-09-17 09:10:48 · 216 阅读 · 0 评论 -
刷题-Leetcode-343. 整数拆分(动规)
343. 整数拆分题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/integer-break/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析当n=10i=9时,j的取值范围[1,7]。注意:max函数的参数只能有两个。dp[i]一定是拆分过的,最少两个数。class Solution {public: int integerBreak(int n) {原创 2021-06-26 12:57:29 · 101 阅读 · 0 评论 -
刷题-Leetcode-63. 不同路径 II(动规)
63. 不同路径 II题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-paths-ii/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析示例:[[0,0,0,0,0,0,0,0],[1,0,0,1,0,0,0,0],[0,0,0,0,0,1,0,0]]初始化:推倒后:注意初始化。二维数组先初始化为0,第一行第一列遇到障碍前设置为1。因为遇到障碍后没有路径可以走。除了第原创 2021-06-25 15:33:53 · 98 阅读 · 0 评论 -
刷题-Leetcode-62. 不同路径(动规)
62. 不同路径题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-paths/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析class Solution {public: int uniquePaths(int m, int n) { vector<vector<int>> dp(m, vector<原创 2021-06-25 14:19:17 · 103 阅读 · 0 评论 -
刷题-Leetcode-746. 使用最小花费爬楼梯(动规)
746. 使用最小花费爬楼梯题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/min-cost-climbing-stairs/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析注意:最后一步可以理解不用花费 取倒数第一步第二步的最小值class Solution {public: int minCostClimbingStairs(vector<int>& cost原创 2021-06-24 09:45:17 · 81 阅读 · 0 评论 -
刷题-Leetcode-70. 爬楼梯(动规)
70. 爬楼梯题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/climbing-stairs/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析此题是个简答题,但是要注意一点,初始化。题目中说到n是个正整数,所有n没有为0的情况。所以在初始化的时候就要初始化dp[1],dp[2]。然后从i=3开始推。时间复杂度o(n)空间复杂度o(n)class Solution原创 2021-06-22 11:20:24 · 96 阅读 · 0 评论 -
刷题-Leetcode-509. 斐波那契数(动规)
509. 斐波那契数题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fibonacci-number/submissions/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目描述题目分析动归问题:1.确定dp以及dp下标的含义。 vector dp(n + 1);dp[i]:第i个斐波那契数列的值是dp[i]2.状态转移公式。 dp[i] = dp[i - 1] + dp[i - 2];3.初始化dp原创 2021-06-21 10:42:19 · 96 阅读 · 0 评论 -
刷题-Leetcode-64. 最小路径和(动规)
64. 最小路径和题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-path-sum/题目描述给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid =原创 2021-01-23 10:14:04 · 151 阅读 · 0 评论 -
刷题-Leetcode-面试题 16.17. 连续数列(动规)
面试题 16.17. 连续数列题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contiguous-sequence-lcci/题目描述给定一个整数数组,找出总和最大的连续数列,并返回总和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。题目分析class Solution {public: int maxSubArray(vecto原创 2021-02-04 11:53:11 · 145 阅读 · 0 评论 -
刷题-Leetcode-931. 下降路径最小和(动规)
931. 下降路径最小和题目链接来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-falling-path-sum/题目描述给定一个方形整数数组 A,我们想要得到通过 A 的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。示例:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:12解释:可能的下降路径有:[1,4,7], [原创 2021-01-21 10:57:46 · 183 阅读 · 0 评论