菜菜子不想再菜了
菜菜子不想再菜了
全部文章
分类
归档
标签
去牛客网
登录
/
注册
菜菜子不想再菜了的博客
全部文章
(共84篇)
题解 | #最小花费爬楼梯#
动态规划。一个小tip,将楼顶当作0花费楼梯加到cost数组和状态数组尾部,可以减少一点代码量。 #include <vector> class Solution { public: int minCostClimbingStairs(vector<int>&am...
2024-07-08
0
120
题解 | #跳台阶#
动态规划 #include <vector> class Solution { public: int jumpFloor(int number) { if(number<=2) return number; ve...
2024-07-08
0
136
题解 | #斐波那契数列#
记录一下 class Solution { public: int Fibonacci(int n) { int* dp = new int[n]; for (int i = 0; i < n; i++) { if (i ==...
2024-07-07
0
124
题解 | #矩阵最长递增路径#
感觉陷入思维定势了,一心想着怎么只用动态规划解题,没想到使用dfs+动态规划的结合方法。。。 class Solution { public: //记录四个方向 int dirs[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; in...
2024-07-07
0
130
题解 | #括号生成#
思路:n的所有情况都是在n-1的基础上插入得来的,插入的方法就是从前往后一个个位置试,本来想着要加一个判断合法的函数,但后面思考了一下,只要保证插入的是"(...)",即左括号在右括号左边的顺序,就一定合法。 class Solution { public: vect...
2024-06-30
0
132
题解 | #字符串的排列#
采用图例中的递归方法。 #include <any> #include <set> #include <vector> class Solution { public: vector<string> Permutation(string s...
2024-06-30
0
151
题解 | #岛屿数量#
#include <utility> class Solution { public: int solve(vector<vector<char> >& grid) { set<pair<int, int>&g...
2024-06-29
0
148
题解 | #有重复项数字的全排列#
思路:由于要升序排列,可以先对原数组进行升序排序。由于此题的数组长度不长,用冒泡排序就行。然后用递归列举出全排列,其中针对相同数字可以用一个map记录下出现过的数字,并且要在每一层递归中用一个新的map去记录。若出现过,就跳过此数字。 #include <unordered_map> #...
2024-06-29
0
203
题解 | #没有重复项数字的全排列#
经典的递归法 #include <vector> class Solution { public: vector<vector<int> > permute(vector<int>& num) { vector<...
2024-06-27
0
124
题解 | #缺失的第一个正整数#
此题的难点在于复杂度,On的时间复杂度就注定基于排序的方法无法使用,那就只能使用在查找任务中效率很高的哈希表。但如果全存进去,空间复杂度又会超出,所以要考虑如何在遍历的过程中对哈希表做适当的删减。思路:哈希表中每加入一个值,就检查是否有等于当前记录的最小值的键,如果有则删去该键并哈希表中的每个值都自...
2024-06-27
0
137
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页