V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Knuth  ›  全部回复第 14 页 / 共 30 页
回复总数  581
1 ... 10  11  12  13  14  15  16  17  18  19 ... 30  
2022-08-15 23:29:08 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
236. 二叉树的最近公共祖先
后续遍历
if(root == NULL || root == p || root == q) {
return root;
}
@Knuth @god
2022-08-13 12:42:52 +08:00
回复了 pepsiwant 创建的主题 Windows windows 11 的蓝屏死机概率是不是大幅提高了?
昨晚刚蓝屏,clock watchdog timeout bsod
2022-08-13 12:37:57 +08:00
回复了 andyJado 创建的主题 git git 的 stash 用的多吗?拿来干嘛呢?
git stash save "stash 也可以备注"
2022-08-10 23:10:30 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
2022/8/10
1143. 最长公共子序列
dp
遗留问题:输出最长公共子序列
2022-08-09 23:21:27 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
2022/8/9
今天好累,回顾一道题
5. 最长回文子串
法一:dp
法二:中心扩展法 分奇偶
2022-08-08 23:48:46 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
300. 最长递增子序列
1. dp O(n^2)
2. DP+贪心+二分下界
一个坑,二分算法边界理解又有问题了,https://www.acwing.com/solution/content/107848/
2022-08-07 23:01:12 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
2020/8/7
快速排序
关于边界条件 https://www.acwing.com/solution/content/16777/
这篇题解讲的很不错,个人喜欢用 j 做边界,所以 pivot=nums[l],对于用 i 做边界,则需要同 j 的情况取反。对于数据增强的情况下 pivot 取 nums[(l+r)/2]或随机化加快速度
``` cpp
void quick_sort(vector<int>& nums, int l, int r) {
if(l >= r) {
return ;
}
// int pivot = (r + l) / 2;
int pivot = l + rand() % (r - l + 1);
// 注意基准元素应当取出来比较
int x = nums[pivot];
int i = l - 1;
int j = r + 1;
while(i < j) {
// x 不能用 nums[pivot]代替,因为 swap 会破坏 nums[pivot]
while(nums[++i] < x);
while(nums[--j] > x);
if(i < j) {
swap(nums[i], nums[j]);
}
}
quick_sort(nums, l, j);
quick_sort(nums, j+1, r);
}
```
归并排序
堆排序
(改天在学
快速选择算法
思路:直接 k-1 寻找排序后第 k-1 个元素的位置,因为每次只递归一边,所以期望复杂度时 O(n),具体证明算导(看不懂 x

``` cpp
class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
return quick_select(nums, 0, nums.size() - 1, k - 1);
}

int quick_select(vector<int>& nums, int l, int r, int k) {
if(l >= r) {
return nums[l];
}
int i = l - 1;
int j = r + 1;
// int pivot = l + rand() % (r - l + 1);
int pivot = (l + r) / 2;
// int pivot = l;
int x = nums[pivot];
while(i < j) {
while(nums[++i] > x);
while(nums[--j] < x);
if(i < j) {
swap(nums[i], nums[j]);
}
}
//
// int sl = j - l + 1;
if(k <= j) {
return quick_select(nums, l, j, k);
}
return quick_select(nums, j + 1, r, k);

}
};
```

15. 三数之和
首先排序
对于 nums[i] > 0,可以直接 break ,后面不会有符合题意的三元组
注意 i 去重,jk 在取到目标三元组也需要去重,
103. 二叉树的锯齿形层序遍历
flag 标记奇 /偶
2022-08-07 13:44:39 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
2022/8/7
做点简单的
1. 两数之和 哈希表一次遍历
167. 两数之和 II - 输入有序数组 双指针
2022-08-07 00:33:08 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
@Knuth 补一个快速选择算法
215. 数组中的第 K 个最大元素-看 CLRS9.2 证明
2022-08-06 23:11:20 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
工作不顺心,刷题继续

146. LRU 缓存
这题用两个 unordered_map+list 也能实现 O(1),明天在学习双向链表
2022-08-05 13:24:36 +08:00
回复了 npe 创建的主题 推广 八月黄桃成熟,帮家里卖点炎陵黄桃,欢迎各位 V 友品尝
啊🤔没吃过的水果+1
2022-08-04 23:04:22 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
@Knuth #5 排列问题通过 used 数组标识已使用元素,子集通过 start 参数来过滤已使用元素
2022-08-04 21:39:14 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
2020/8/4:
最近做了链表、回溯
链表
21. 合并两个有序链表
25. K 个一组翻转链表
92.反转链表 II
206.反转链表
链表题 dummy 节点可以节省好多工作
回溯
注意有重复元素时,先排序,在回溯过程中注意树层剪枝即 nums[i] == nums[i-1]&&used[i-1]=false 时跳过,此时代表 i-1 已经被选过了
46/47.全排列
78/90.子集
2022-07-31 12:13:38 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
Day3
76. 最小覆盖子串
滑动窗口,收缩左边界
一个小技巧,对于哈希表 key 为 char 类型,value 为 int 类型,可以直接使用数组,int[128]。

通过这三道题对滑动窗口的题有了一定的理解

以后一周更新两次,题目坚持每天刷
2022-07-31 09:41:23 +08:00
回复了 xiaoweia 创建的主题 分享发现 ThinkBook 16 + 锐龙版,是今年唯一值得入手的笔记本……
用的 14+ 体验确实很不错👍
2022-07-30 15:53:53 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
Day2
239. 滑动窗口最大值
优先队列 /单调队列
2022-07-29 23:21:07 +08:00
回复了 Knuth 创建的主题 LeetCode Leetcode 刷题记录
Day 1
3. 无重复字符的最长子串:哈希表、滑动窗口
2022-07-25 22:29:29 +08:00
回复了 pista 创建的主题 职场话题 家人们,安卓国内如何正确使用 LinkedIn app
@tt2767 不行啊
2022-07-25 21:01:09 +08:00
回复了 yexiao117 创建的主题 问与答 预算 6K,轻薄本,要 windows,老婆用,求推荐。
thinkbook 14+
1 ... 10  11  12  13  14  15  16  17  18  19 ... 30  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2936 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 13:44 · PVG 21:44 · LAX 05:44 · JFK 08:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.