不经历怎么能成长
不经历怎么能成长
全部文章
分类
题解(128)
归档
标签
去牛客网
登录
/
注册
不经历怎么能成长的博客
全部文章
(共130篇)
题解 | #判断是不是二叉搜索树#(中序遍历递归,非递归)
1. 递归 class Solution { public: /** 中序遍历 保存中序遍历的前一个节点值 进行比较 */ TreeNode *pre = NULL; bool isValidBST(TreeNode* root) { boo...
C++
2022-04-12
0
200
题解 | #寻找峰值#(二分查找)
分析: 最简单的是循环遍历O(n) 二分查找,O(log2n) 最左边和最右边为无穷小,当任意一个位置i上的值小于相邻i+1时,则左边必然存在峰值。 当任意一个位置i上的值大于相邻i+1时,右边必存在峰值。 class Solution { public: // 左右边为无穷小,所以 当前位...
C++
2022-02-23
7
1540
题解 | #二分查找-I#(3种方法)
class Solution { public: int search(vector<int>& nums, int target) { int len = nums.size(); int left=0, right=len-1; ...
C++
2022-02-22
2
1660
题解 | #最大数#重写sort
class Solution { public: static bool cmp(int a, int b){ //高位位置排 string s_a = to_string(a); // 组合数最大用string判断 string s_b = to_strin...
C++
2021-10-15
0
273
题解 | #最长的括号子串#(细节状态转移&动态规划)
最长括号子串分为两种形式..()()()和...((...)) dp[i] :代表以i结尾的最长括号子串 ...()dp[i]=dp[i-2]+2 当是s[i-1]='(' ...((..)) dp[i]=dp[i-1]+dp[i-dp[i-1]-2]+2 当s[i-dp[i-1]-1]='(' ...
C++
2021-10-15
0
397
题解 | #寻找峰值#(从后往前)
class Solution { public: /** * 寻找最后的山峰 * @param a int整型一维数组 * @param aLen int a数组长度 * @return int整型 */ int solve(in...
C++
2021-09-20
0
340
题解 | #判断二叉树是否对称#(不是每一个子树要对称)
class Solution { public: bool isSymmetric(TreeNode* root) { if(!root) return true; return fun(root->left, root->right); ...
2021-09-02
0
233
题解 | #二叉树的最大路径和#(dfs)
class Solution { public: int maxSum = INT_MIN; int maxPathSum(TreeNode* root) { dfs(root); return maxSum; } int dfs(...
2021-09-02
0
290
题解 | #数组中未出现的最小正整数#(原地哈希空间O(1))
最小整数 设数组长度为n,当缺失的最小整数最大的情况下,一定是n+1,数组0-n数组随机排列。 当有不在1-n之间的数字时,不考虑这些超出范围的数字,它们哈希与否都不影响得到缺失的最小整数。缺失的整数范围是1-n+1。同时,防止数组哈希时候越界。 class Solution { public:...
2021-08-10
0
420
题解 | #缺失数字#(异或)
异或 时间复杂度O(n) class Solution { public: int solve(vector<int>& a) { int n = a.size(); if(n == 0) return 0; int res...
2021-08-10
0
367
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页