上一页 1 ··· 11 12 13 14 15
摘要: 题目链接 本题使用的是快排解决。 思路:「荷兰国旗」问题,具体思路跳转75. 颜色分类 代码 class Solution { public: void swap(vector<int>& nums, int i, int j) { int tmp = nums[i]; nums[i] = nums 阅读全文
posted @ 2024-11-11 10:10 ouyangxx 阅读(11) 评论(0) 推荐(0)
摘要: 题目链接 解题思路 直接暴力递归,process(i, j):word1[i...]转换成word2[j...]需要的最少操作次数,也就是说,i字符之前的不用处理了,已经变成了j字符之前的了。 如果word1[i] == word2[j] 可以什么操作都不干,i和j就完成了,所以返回process( 阅读全文
posted @ 2024-11-11 09:26 ouyangxx 阅读(14) 评论(0) 推荐(0)
摘要: 题目链接 这道题目与62.不同路径很像,来到[i, j]位置,只能向下,或者向右走,只不过改题是要求总和最小。 process(i, j):当前在[i, j]位置,返回最小路径和 所以当在[i, j],如果还能往下走,一种答案就是process(i + 1, j) + grid[i][j] 如果还能 阅读全文
posted @ 2024-11-11 08:58 ouyangxx 阅读(7) 评论(0) 推荐(0)
摘要: 题目链接 解题思路 方法一:暴力递归,process(i, j),当前在[i, j]位置,到达右下角有多少种方法? 如果i < m - 1,那么可以往下走,所以结果加process(i + 1, j) 如果j < n - 1,那么可以往右走,所以结果加process(i, j + 1) 因为只有两个 阅读全文
posted @ 2024-11-10 22:08 ouyangxx 阅读(17) 评论(0) 推荐(0)
摘要: 题目链接 解题思路 最大子数组问题,有两个基本的想法,以i开头的子数组结果是怎样的,求出所有的结果,最优的那个,就是答案;以i结尾的子数组结果是怎样的,求出所有的结果,最优的那个,就是答案。 本题我们可以考虑,「以i结尾的结果是怎样的」,为啥?因为我们要求的是最大的累加和,我们求出了res1=「以i 阅读全文
posted @ 2024-11-10 21:35 ouyangxx 阅读(13) 评论(0) 推荐(0)
摘要: 题目链接 解题思路 方法一:(注:这种方法过不了,提供一种思路,如果只想过题,可直接跳转到方法二)自顶向下的动态规划,先写暴力递归过程,然后再直接加缓存表即可。 bool process(nums, index, next) nums:固定参数 index:当前来到的下标 next:能够走到的最远的 阅读全文
posted @ 2024-11-10 21:29 ouyangxx 阅读(27) 评论(0) 推荐(0)
摘要: 题目链接 解题思路 合并区间,肯定要按照第一维度排序。 然后依次处理每个区间。假设现在来到i区间[a, b],i之前的区间已经处理好,并且与i区间不重叠。i + 1的区间是[c, d],因为已经按照第一维度排序,所以能够得到a >= c,那么,b和c的关系如何? b < c:说明i区间与i+1区间不 阅读全文
posted @ 2024-11-10 21:20 ouyangxx 阅读(25) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15