佛说wh
佛说wh
全部文章
分类
归档
标签
去牛客网
登录
/
注册
佛说wh的博客
全部文章
(共57篇)
题解 | #字符串的排列#
2022.0831算法第47题字符串的排列 这个题目直接套用包含重复数字的全排列,这两者是一样的思路和代码 典型的递归回溯问题,这次写的时候,在考虑去重的时候 只想到了前后两个相等的情况,忽略了前后相等时,也需要保证前一个已经选择,这样才能跳过 否则,有可能将未选择的跳过 ...
C++
回溯
递归
2022-08-31
0
342
题解 | #岛屿数量#
2022.0831算法第46题岛屿数量 最近学习了递归回溯算法,解决排列,组合,子集,分割字符串和网格问题 排列,组合,子集这三个已经写过,感觉就是模板,最难的操作在于想通树形结构怎么画 同时剪枝的操作也很重要,同时也十分的难想。 岛屿数量这道题,并不是标准的回溯,只是用到了...
C++
递归
2022-08-31
0
379
题解 | #顺时针旋转矩阵#
2022.0824算法第45题顺时针旋转矩阵 这题不需要想太多,模拟解题思路就行,没有算法难点 1、先转置矩阵 2、对每行进行反转 这样就能得到顺时针旋转90度的结果 vector<vector<int> > rotateMat...
数组
C++
2022-08-24
0
327
题解 | #旋转数组#
2022.0824算法第44题旋转数组 本题采用三次反转的方式,感觉也没啥亮点。 vector<int> solve(int n, int m, vector<int>& a) { &nb...
数组
C++
2022-08-24
0
315
题解 | #最长公共前缀#
2022.0824算法第42题最长公共前缀 横向比较,先判断前两个的最长公共前缀,然后用得到的结果与后面的字符串比较 每个更新最长公共前缀,最终得到全部字符串的最长公共前缀。 获取两个字符串的前缀方法,while循环找到第一个不相等的位置即可,我刚开始为什么会觉着需要双层循环? ...
C++
字符串
2022-08-24
0
439
题解 | #判断是否为回文字符串#
2022.0822算法第42题判断是否为回文字符串 采用双指针,从左右两边位置开始遍历,如果出现两者不相等的情况 则返回false。否则左右两个指针逐步往中间靠拢 bool judge(string str) { &n...
双指针
C++
2022-08-22
0
254
题解 | #螺旋矩阵#
2022.0822算法第41题螺旋矩阵 这道题感觉没有弯弯绕,很直观的,但是写代码的时候感觉挺复杂的,需要考虑的情况较多 边界问题,终止条件等。在leetcode上看到一种解法,很好理解,代码也不复杂。 思想就是对矩阵的边界值进行更新,每次记录更新后的边界值,直到遍历完成 ve...
模拟
C++
2022-08-22
0
262
题解 | #最长无重复子数组#
2022.0822算法第40题最长无重复子数组 这题和leetcode第三题无重复字符的最长子串是一样的 可以使用滑动窗口进行求解。 第二次了这个也没写对,很离谱,删除元素时没搞懂怎么删除。 首先,定义start指针,和最大长度初始值, 要明确循环的变量表示的是窗口结束...
滑动窗口
C++
2022-08-22
0
475
题解 | #合并两个有序的数组#
2022.0821算法第39题合并两个有序的数组 可以在创建一个数组,这样比较简单, 也可以采用双指针对原数组直接进行操作; 刚开始想着从前往后动手,但是没办法绕开插入元素的后移的问题, 交换两者元素也不行这样就破坏了两者的有序性。 之前的删除元素,是考虑两个数不相等的...
C++
双指针
2022-08-21
0
298
题解 | #三数之和#
2022.0819算法第38题三数之和 这道题感觉挺麻烦的的,难度还可以就是复杂,细节点比较多。 首先思路还是挺简单的,采用双指针算法,先固定a,然后在剩余的数字中选择b和c,b和c通过向中心移动 逐步缩小范围,获取最终的结果。 算法有的点是需要去重的,结果中不能有重复的三元...
C++
双指针
2022-08-19
0
311
首页
上一页
1
2
3
4
5
6
下一页
末页