佛说wh
佛说wh
全部文章
分类
归档
标签
去牛客网
登录
/
注册
佛说wh的博客
全部文章
(共57篇)
题解 | #按之字形顺序打印二叉树#
2022.0815算法第27题按之字形顺序打印二叉树 这道题目使用广度优先遍历BFS,只是对遍历出来的结果进行处理 并没有修改遍历的顺序。 res.push_back(temp); flag++; if(flag%2==0){ reve...
二叉树
C++
2022-08-15
0
270
题解 | #最长公共子串#
2022.0815算法第26题最长公共子串 这个和最长公共子序列采用的方法是一样的,需要构造状态矩阵,记录当前的子串状态。 主要在于获取最长子串的位置,用于分割子串。 可以记录最长子串的长度和最长子串出现的最后的索引位置。 这点需要使用两个变量 int maxL...
动态规划
C++
字符串
2022-08-15
0
264
题解 | #最小花费爬楼梯#
2022.0815算法第25题最小花费爬楼梯 这个方法也是要找到递推关系式, res[i]=min(res[i-1]+cost[i-1],res[i-2]+cost[i-2]); 感觉这个和高中求数列是十分相似的,有初始值,有递推公式,这样也可以求出来通项 计算机则直接可以通过循环进...
动态规划
C++
2022-08-15
0
284
题解 | #跳台阶#
2022.0815算法第24题跳台阶 这个解决方法和斐波那契数列一样,知识初始值不同。 但是最主要的是想到使用这个方法进行求解。 感觉这类问题都是需要找到状态转移方程,也就是状态数列的n和状态n-1等的关系。 递推公式就是这样, int a =&nbs...
C++
动态规划
2022-08-15
0
245
题解 | #斐波那契数列#
2022.0815算法第23题斐波那契数列 动态规划dynamic programing的入门级题目。 可以从后往前,也可以从前往后 从后往前需要递归,从后往前需要循环。 从后往前的代码: vector<int> res(n+1); res[1]=1...
C++
动态规划
2022-08-15
0
236
题解 | #链表相加(二)#
2022.0815算法第22题链表相加(二) 对链表表示的两个整数进行相加,返回一个结果链表 首先要知道倒序相加算法,将低位相加,确保进位正确,把短的链表后面的数据视为零 最后一位需要进位时单独进行判断。 首先创建头指针和尾指针,以及进位标志。 ListNode*&nbs...
C++
链表
2022-08-15
0
390
题解 | #最长公共子序列(二)#
2022.0814算法第21题最长公共子序列(二) 动态规划问题,但是做的比较少还没有理解动态规划的主要套路。 这个需要先求解一个二维矩阵,求解出最长子序列的长度,然后根据指示方向取出最长子序列。 第一步需要求解最长子序列长度,并记录当前字符的方向,也就是最长子序列的取值位置方向。...
动态规划
C++
2022-08-14
1
436
题解 | #没有重复项数字的全排列#
2022.0814算法第20题没有重复项数字的全排列 全排列采用递归回溯的思想, 递归是一种算法结构,回溯是一种算法思想 一个递归就是在函数中调用函数本身来解决问题。 回溯就是通过不同的尝试来生成问题的解,有点类似于穷举,但是和穷...
C++
回溯
2022-08-14
0
378
题解 | #缺失的第一个正整数#
2022.0808算法第19题缺失的第一个正整数 哈希表也能解决这个问题,思路也很简单。 缺失的第一个正整数肯定是1-n+1之间的数,n为数组内元素的个数 因此只需要将数组内的元素存入哈希表,然后判断1-n+1之间的最小的不在hash中的数。 不采用hash存储时,也可以通过...
哈希表
C++
2022-08-08
0
327
题解 | #数组中只出现一次的两个数字#
2022.0808算法第18题数组中只出现一次的两个数字 这个问题可以使用哈希表进行求解,排序法也可以,异或运算是最正确的解法 异或运算牵扯到位运算,还没理解透。 采用哈希表的方法进行求解, 使用哈希表存储元素值和出现的次数,选择出现次数为1的元素进行输出 最后结果及逆...
哈希表
C++
2022-08-08
0
293
首页
上一页
1
2
3
4
5
6
下一页
末页