whai
|
4fe744c27a
|
回溯
redo
|
2024-02-07 01:03:35 +08:00 |
|
whai
|
3c3f373663
|
回溯
|
2024-02-02 21:03:16 +08:00 |
|
whai
|
d0f6cb7c3a
|
bts
|
2024-01-30 23:56:04 +08:00 |
|
whai
|
fac985ee27
|
bts
|
2024-01-28 20:07:03 +08:00 |
|
whai
|
8359916555
|
Sync
|
2024-01-28 12:57:26 +08:00 |
|
whai
|
adeb1985d8
|
bn
|
2024-01-27 21:29:01 +08:00 |
|
whai
|
3c1d53ac10
|
106 构造树没做出来
|
2024-01-25 22:33:53 +08:00 |
|
whai
|
ca386eaae0
|
Tree
|
2024-01-24 22:10:12 +08:00 |
|
whai
|
24c2458f4f
|
xc
|
2024-01-23 22:09:57 +08:00 |
|
whai
|
0d147db2aa
|
递归解决
- 完全二叉树:子树就是一个个满二叉树
- 平衡二叉树:递归求高度,用-1判断是否平衡
|
2024-01-22 20:56:44 +08:00 |
|
whai
|
f469f18748
|
复习+
一些二叉树
|
2024-01-21 22:05:25 +08:00 |
|
whai
|
3247b3f654
|
各种层次遍历衍生
|
2024-01-19 22:16:35 +08:00 |
|
whai
|
99db282c5d
|
各种层次遍历衍生
|
2024-01-19 14:18:57 +08:00 |
|
whai
|
c6ec4950ea
|
各种层次遍历衍生
|
2024-01-18 10:04:56 +08:00 |
|
whai
|
a3f6650e10
|
统一的迭代法
层次遍历
|
2024-01-16 21:09:45 +08:00 |
|
whai
|
7268302aec
|
中序
后序遍历
- 迭代法
|
2024-01-16 19:31:42 +08:00 |
|
whai
|
5c7137c125
|
先序遍历
|
2024-01-14 22:08:17 +08:00 |
|
whai
|
daeea3e734
|
先序遍历
|
2024-01-14 18:34:07 +08:00 |
|
whai
|
3df5579ab3
|
2024-1月 13 14日复刷
|
2024-01-14 14:21:17 +08:00 |
|
whai
|
0a10a5dcce
|
- 347 堆
|
2024-01-10 22:11:15 +08:00 |
|
whai
|
53958087af
|
- 239 队列的应用,没做出来
|
2024-01-09 17:49:57 +08:00 |
|
whai
|
5bc369a02d
|
栈的应用
|
2024-01-08 20:54:53 +08:00 |
|
whai
|
742d0471b2
|
--
|
2024-01-07 21:58:15 +08:00 |
|
whai
|
bd0902dfc4
|
--
|
2024-01-06 15:40:09 +08:00 |
|
whai
|
929adbf6bb
|
--
|
2024-01-05 22:41:13 +08:00 |
|
whai
|
8765a0f989
|
28
|
2024-01-05 17:55:39 +08:00 |
|
whai
|
418bbabea8
|
## 字符串
常见解决方法
- **逆转**
- **双指针**
- 首尾双指针:删除空格,要的才给StringBuilder
- 双头双指针:移动元素
-
| 类型 | 题目 | 解决 | 做题时间 |
| -------------------- | ------------------------------------------------------------ | ------------------------------ | -------------- |
| 多次逆转 | [右旋字符串](https://www.programmercarl.com/kama55.右旋字符串.html#思路) | 三次逆转 | 2024-1-5 x |
| 删除空格、逆转字符串 | [151. 反转字符串中的单词 - 力扣(LeetCode)](https://leetcode.cn/problems/reverse-words-in-a-string/) | 双指针删除空格,<br />字符逆战 | **2024-1-5 x** |
| | | | |
|
2024-01-05 14:26:02 +08:00 |
|
whai
|
92d8e06065
|
字符串系
|
2024-01-04 21:23:42 +08:00 |
|
whai
|
93cbd6955c
|
三指针解决hashmap问题
- 注意重复指针跳过的方法
|
2024-01-03 22:13:32 +08:00 |
|
whai
|
bdbfa1854c
|
1
454
|
2024-01-03 21:01:34 +08:00 |
|
whai
|
8490fdfcf7
|
1
454
|
2024-01-02 22:04:25 +08:00 |
|
whai
|
c7ed23b029
|
LeetCode202
- 快乐数
- 使用Set,循环出现就不是快乐数
LeetCode349
LeetCode350
- 数组交集
- 使用数组映射
|
2024-01-02 17:42:26 +08:00 |
|
whai
|
48a3b2f043
|
- 287 使用快慢指针,(如何将数组映射成为一个链表)
| 1 | 2 | 4 | 2 | 3 | |
| ---- | ---- | ---- | ---- | ---- | ---- |
| 0 | 1 | 2 | 3 | 4 | |
graph LR
A[0] --> 1
1 --> 2
2 --> 4
4 --> 3
3 --> 2
- 242. 有效的字母异位词
|
2024-01-01 20:04:29 +08:00 |
|
whai
|
8772be1c10
|
[142. 环形链表 II](https://leetcode.cn/problems/linked-list-cycle-ii/)
## 1. 为什么快慢指针一定会相遇?
- `V_fast = 2`、`V_slow = 1` 相对速度为1,就一定会相遇
## 2. 为什么慢指针一圈就能一定能被追上?
两个角度:
1. `|fast- slow| < 1 圈` 所以slow在环内走不会超过一周
2. 慢指针走一圈,快指针走两圈,早就遇上了。
|
2024-01-01 15:35:22 +08:00 |
|
whai
|
db1b18ae63
|
链表
修改多使用这个栈会更快
LinkedList比Stack快的原因如下:
- 基于数组实现:Stack基于数组实现,随机访问(查找)效率更高,增删改效率较低。
* 基于链表实现:LinkedList基于链表实现,增删改效率更高,随机访问(查找)效率较低。
**对于频繁的插入、删除操作,利用LinkedList实现栈自然比Stack快很多。**
0207
两个链表交替双指针
原理:双指针交替完长度是一样的,最后会同步
|
2023-12-31 22:05:09 +08:00 |
|
whai
|
efb982a11b
|
修改分类
|
2023-12-31 21:01:41 +08:00 |
|
whai
|
d9687332dc
|
修改分类
|
2023-12-31 19:39:18 +08:00 |
|
whai
|
acc3ac725c
|
LeetCode24
- 链表两两对换
|
2023-12-29 20:18:12 +08:00 |
|
whai
|
f6d0c1582a
|
LeetCode206
- 移动指针的方式不一定是.next
- 递归 只考虑当前这个部分,<b>把其他的部分扔给下一次递归</b>
|
2023-12-28 20:35:34 +08:00 |
|
whai
|
c998f0351e
|
LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
|
2023-12-27 22:08:15 +08:00 |
|
whai
|
8ad2f18126
|
LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
|
2023-12-27 19:44:46 +08:00 |
|
whai
|
9385b628ad
|
LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
|
2023-12-27 11:06:00 +08:00 |
|
whai
|
c707fd4ca2
|
LeetCode54
|
2023-12-24 22:03:19 +08:00 |
|
whai
|
177d5a4849
|
LeetCode59
|
2023-12-24 12:37:56 +08:00 |
|
whai
|
5926432b0a
|
LeetCode209
双指针滑动窗口
while不断去除sum中的数,直到不满足>target的条件
|
2023-12-10 21:09:11 +08:00 |
|
whai
|
961aa4cea9
|
LeetCode997
双指针!
- 找到0的左右,分别从左右插入到新数组中
- 从左到右比较最大的数,从大到小插入新的数组中
|
2023-12-08 21:22:50 +08:00 |
|
whai
|
529a6193d9
|
LeetCode26
|
2023-12-07 23:34:42 +08:00 |
|
whai
|
57aa0a6aa9
|
LeetCode35二分查找
int mid = ((right - left) >> 1) + left; /2 用这个方法
right-left 就是从0开始到n, 右移动一位就是除以2,获得到这个区间的一半,加上起始的left 就是(right + left)/2
|
2023-12-06 21:46:19 +08:00 |
|
whai
|
66f8bc1019
|
LeetCode35二分查找
int mid = ((right - left) >> 1) + left; /2 用这个方法
|
2023-12-06 21:41:12 +08:00 |
|
whai
|
d19cd4f072
|
367 二分查找深入理解
关注查找的区间问题
|
2023-12-06 08:18:12 +08:00 |
|