不经历怎么能成长
不经历怎么能成长
全部文章
题解
归档
标签
去牛客网
登录
/
注册
不经历怎么能成长的博客
全部文章
/ 题解
(共128篇)
题解 | #编辑距离(一)#动态规划(状态方程)
class Solution { public: /** dp[i][j]以i,j结尾的最少操作数 dp[i][j]可以通过dp[i-1][j],dp[i][j-1], dp[i-1][j-1] 三种状态得到 */ int editDista...
C++
2022-04-15
0
383
题解 | #最长上升子序列(一)#
class Solution { public: /** 滚动数组 dp[i]:以i结尾的最长上升子序列 dp[i] = max(dp[j]+1,dp[i]) */ int LIS(vector<int>& arr) { ...
C++
2022-04-15
0
387
题解 | #把数字翻译成字符串#(判断条件多)
class Solution { public: /** dp[i]:前i个字符编码 的结果 当nums[i]==0时不能单独存在只能依附nums[i-1] 当1<=nums[i-1]<=2 时 因为必须依附,反而减少,为dp[i...
C++
2022-04-14
0
323
题解 | #N皇后问题#(递归回溯)
定义三个访问数组,列不能重复访问,正斜线不能重复访问, 反斜线不能重复访问。 其中正斜线用行下标减列下标唯一表示 总计2*N-1个,因为有负数结果,所以平移N-1位存储。 反斜线由行下标加列下标表示,也是2*N-1个。 class Solution { public: int N; ...
C++
2022-04-14
0
428
题解 | #矩阵最长递增路径#(dfs+记忆数组)
常规的dfs+记忆数组模板做法 class Solution { public: vector<int> order = {-1,0,1,0,-1}; // 递归方向 int rows; int cols; int solve(vector<vec...
C++
2022-04-13
0
318
题解 | #两数之和# (哈希表保存索引值)
class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { // write code here unordered_map&l...
C++
2022-04-12
2
396
题解 | #二叉搜索树的最近公共祖先#(后序遍历-返回查找节点的值)
普通二叉树查找最近公共祖先 公共祖先 --- 后序遍历 递归左子树 和 递归右子树 如果找到指定需要的节点值p,q, 就返回该节点值,代表该子树有该值 如果没有找到在另一个子树中查找。 如果在两个子树中都找则代表为父亲节点直接返回 class Solution { public: int l...
C++
2022-04-12
0
494
题解 | #判断是不是完全二叉树#(队列+层次遍历)
class Solution { public: /** 层次遍历 */ bool isCompleteTree(TreeNode* root) { // write code here if(root==NULL) return t...
C++
2022-04-12
0
368
题解 | #判断是不是二叉搜索树#(中序遍历递归,非递归)
1. 递归 class Solution { public: /** 中序遍历 保存中序遍历的前一个节点值 进行比较 */ TreeNode *pre = NULL; bool isValidBST(TreeNode* root) { boo...
C++
2022-04-12
0
324
题解 | #寻找峰值#(二分查找)
分析: 最简单的是循环遍历O(n) 二分查找,O(log2n) 最左边和最右边为无穷小,当任意一个位置i上的值小于相邻i+1时,则左边必然存在峰值。 当任意一个位置i上的值大于相邻i+1时,右边必存在峰值。 class Solution { public: // 左右边为无穷小,所以 当前位...
C++
2022-02-23
7
1890
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页