上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 67 下一页
摘要: 如果我们可以把所有数字分成两组,使得: 两个只出现一次的数字在不同的组中; 相同的数字会被分到相同的组中。 那么对两个组分别进行异或操作,即可得到答案的两个数字。这是解决这个问题的关键。 那么如何实现这样的分组呢? 记这两个只出现了一次的数字为 a 和 b,那么所有数字异或的结果就等于 a 和 b 阅读全文
posted @ 2021-08-03 14:46 Dazzling! 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 自底向上递归的做法类似于后序遍历,对于当前遍历到的节点,先递归地判断其左右子树是否平衡,再判断以当前节点为根的子树是否平衡。 如果一棵子树是平衡的,则返回其高度(高度一定是非负整数),否则返回 −1。如果存在一棵子树不平衡,则整个二叉树一定不平衡。 /** * Definition for a bi 阅读全文
posted @ 2021-08-03 11:26 Dazzling! 阅读(30) 评论(0) 推荐(0) 编辑
摘要: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r 阅读全文
posted @ 2021-08-03 10:57 Dazzling! 阅读(20) 评论(0) 推荐(0) 编辑
摘要: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r 阅读全文
posted @ 2021-08-03 10:47 Dazzling! 阅读(15) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: int getNumberSameAsIndex(vector<int>& nums) { int n = nums.size(); int l = 0, r = nums.size() - 1; while (l < r) { int mid = 阅读全文
posted @ 2021-08-02 14:51 Dazzling! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: int missingNumber(vector<int>& nums) { int n = nums.size() + 1; int l = 0, r = n - 1; while (l < r) { int mid = l + r >> 1; i 阅读全文
posted @ 2021-08-02 14:47 Dazzling! 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 只有当链表 headA 和 headB 都不为空时,两个链表才可能相交。因此首先判断链表 headA 和 headB 是否为空,如果其中至少有一个链表为空,则两个链表一定不相交,返回 null。 当链表 headA 和 headB 都不为空时,创建两个指针 pA 和 pB,初始时分别指向两个链表的头 阅读全文
posted @ 2021-07-31 20:40 Dazzling! 阅读(20) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: vector<int> temp; int res = 0; int reversePairs(vector<int>& nums) { int n = nums.size(); temp.resize(n); mergeSort(nums, 0, 阅读全文
posted @ 2021-07-31 20:25 Dazzling! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 方法一:使用哈希表存储频数 我们可以对字符串进行两次遍历。 在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回该字符,否则在遍历结束后返回空格。 class Solution { public: char firstUn 阅读全文
posted @ 2021-07-31 17:50 Dazzling! 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 首先我们来通过一个例子理解一下这里「翻译」的过程:我们来尝试翻译「14021402」。 分成两种情况: 首先我们可以把每一位单独翻译,即 [1, 4, 0, 2],翻译的结果是 beac 然后我们考虑组合某些连续的两位: [14, 0, 2],翻译的结果是 oac。 [1, 40, 2],这种情况是 阅读全文
posted @ 2021-07-31 16:05 Dazzling! 阅读(26) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 67 下一页