![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 74
自首的小偷
这个作者很懒,什么都没留下…
展开
-
面试必刷算法TOP101之买卖股票问题 TOP16
一个思路解决下边买卖股票的问题首先先分析下边的问题121. 买卖股票的最佳时机 I 限定交易次数 k=1122. 买卖股票的最佳时机 II 交易次数无限制 k = N123. 买卖股票的最佳时机 III 限定交易次数 k=2124. 买卖股票的最佳时机 IV 限定交易次数 最多次数为 k k还是有限制的这些问题都是买卖股票的最佳时机,都是在通过买卖股票的来获取最大差值大,但是最大区别就是买卖股票的次数都是不一样的,所以将这些问题看作是一个问题,只不过是对于不同问题交易次数是不同的,因为是动态原创 2022-04-24 21:04:40 · 1078 阅读 · 32 评论 -
面试必刷算法TOP101之动态规划篇 TOP15
两个字符串的删除操作题目来源:Leetcode1、问题描述给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。每步 可以删除任意一个字符串中的一个字符2、思路解析对于字符s[i]和字符t[j]来说获取最小删除次数必须依赖前边的数据所以这是典型的DP问题,所以直接套用动态规划的解题步骤1、创建dp数组明确下边的含义dp[i][j] 以i结尾的字符串s和以j结尾的字符串t,经过最小步数的修改元素达到相等的次数2、递归公式字符s[i]和t[原创 2022-04-23 20:45:01 · 1619 阅读 · 19 评论 -
面试必刷算法TOP101之背包九讲篇 TOP14
完全平方数题目来源:Leetcode1、问题描述给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。示例:2、思路解析1、暴力回溯 因为在提示中说道数字最大为10000,所以边界循环为100,这样才能取到最大数10000,先将每个数的平方添加到数组中保存下来,当满足条件是也就是平方达到n,就将数组长度和min比较取最小值,这样原创 2022-04-20 21:15:48 · 433 阅读 · 21 评论 -
面试必刷算法TOP101之背包九讲篇 TOP13
目标和题目来源:Leetcode1、题目描述给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1” 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。示例二、思路解析1 暴力回溯思想采用的是深度优先遍历+回溯,前边已经介绍这个思想了原创 2022-04-19 21:22:09 · 479 阅读 · 9 评论 -
面试必刷算法TOP101之DP篇 TOP6
编辑距离题目来源:Leetcode1、问题描述给定两个字符串word1和word2,返回转换为所需的最少操作数word1word2。您可以对单词进行以下三个操作:插入一个字符删除一个字符替换一个字符示例:2、思路分析3、代码实现class Solution {public: int minDistance(string word1, string word2) { int len1=word1.size(); int len2=wor原创 2022-04-02 14:55:04 · 367 阅读 · 0 评论 -
面试必刷算法TOP101之DP篇 TOP5
01背包问题题目来源:牛客网1、问题描述有N件物品和一个容量为V的背包。第i件物品的价值是C[i],重量是W[i]。求解将哪些物品装入背包可使价值总和最大。示例:原创 2022-03-30 22:43:51 · 450 阅读 · 2 评论 -
面试必刷算法TOP101之DP篇 TOP4
不同路径Ⅱ题目来源:Leetcode1、题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例:2、思路解析3、代码实现class Solution {public: int uniquePathsWithObs原创 2022-03-30 14:44:40 · 1031 阅读 · 7 评论 -
面试必刷算法TOP101之DP篇 TOP3
三角形最小路径和题目来源:Leetcode1、问题描述:给定一个三角形 triangle ,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。示例:2、思路解析思路一:思路二:3、代码实现思路一:class Solution {public: int原创 2022-03-30 12:02:06 · 1476 阅读 · 1 评论 -
面试必刷算法TOP101之DP篇 TOP2
最长公共子序列和题目来源:Leetcode1、问题描述给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:2、思路解析3、代码实现版本一:class Solution {public: int maxSubArray(vector<int>& nums) { if(nums.size()==0){ return 0; } //原创 2022-03-29 23:00:32 · 571 阅读 · 6 评论 -
面试必刷算法TOP101之DP篇 TOP1
斐波拉契数列题目来源:LeetCode1、题目表述写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1示例:2、思路解析:原创 2022-03-29 17:07:22 · 887 阅读 · 8 评论