![](https://img-blog.csdnimg.cn/e3b3765ead4945e78f20d7866e36f63d.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode
文章平均质量分 56
LeetCode刷题
Sudo_Wang
这个作者很懒,什么都没留下…
展开
-
滑动窗口(单调队列)
的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口每次只向右移动一位。这题可以用一个单调队列来写。原创 2023-08-27 12:54:51 · 724 阅读 · 1 评论 -
【Leetcode】分割回文串
这题可以用dfs来写,可以用插板子的方法来解这一道题,比如a a b b可以每隔一个字符插上一个板子,因为一个字符本身它是满足回文串的,即a|a|b|b,然后间隔为1的板子插完了,就可以尝试能否插入,然后回溯到a|a的情况,判断bb是否满足回文串,满足就加入答案a|a|bb。这里的index就是切割字符串的起始点,切割的长度为i-index+1,+1是为了保证每次至少要切割一个长度的字符串,而i的位置就是分割线的位置。原创 2023-09-24 00:54:27 · 401 阅读 · 1 评论 -
排列组合问题
不过也可以对代码进行优化,这个路径我们可以在递归的过程中就完成计算,没必要全都存起来,最后再算,那么在递归的过程就完成了计算,那么如何进行回溯呢?这题与之前组合问题不同点在于这里会存在重复的元素,可以观察以下决策树,其实不难发现,如果。了,那么往后就没有必要搜索了,因为这是一个递增的数据,后面的所有数据必定大于。**剪枝:**用过的数字和重复的数字就不再往下递归了,寻找另外的分支。还有一种方法就是枚举长度为1的子集,长度为2的字节…但这样是会超时的,因此可以看一下有没有可以剪枝的操作。原创 2023-08-31 15:09:58 · 337 阅读 · 0 评论