# 第六十五周ARTS总结
# Algorithm
0ms | 100.00% Run time
39.2MB | 53.73% Memory
public ListNode partition(ListNode head, int x) {
// 小于x的节点头
ListNode smallHead = new ListNode();
// 小于x的节点尾
ListNode curSmall = smallHead;
// 大于等于x的节点头
ListNode notSmallHead = new ListNode();
// 大于等于x的节点尾
ListNode curNotSmall = notSmallHead;
while (head != null) {
if (head.val < x) {
curSmall.next = head;
curSmall = curSmall.next;
} else {
curNotSmall.next = head;
curNotSmall = curNotSmall.next;
}
head = head.next;
}
curSmall.next = notSmallHead.next;
curNotSmall.next = null;
return smallHead.next;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Review
# Tip
- 上采样(即放大图片):
- 邻插值算法
- 双线性差值法
- 双三次差值法
- 被挂起的进程暂时不参与CPU的调度,直到被激活
- 在重写
View#onSaveInstanceState
一定要注意其返回值情况,必须为AbsSavedState
对象 - 三次握手:
- A向B表示想跟B进行连接
- B收到消息,告诉A准备好和你连接了
- A收到消息,告诉B我收到你准备连接的信号了,此时开始连接
- 四次挥手:
- A向B表示想跟B断开连接
- B收到消息,但是B消息没发送完,只能告诉A我知道了
- B发送完消息,告诉A可以断开连接了
- A收到消息,告诉B断开连接,此时断开连接
- 挥手的第三次是为了什么:如果只有两次,只能保证B能收到A的信息,不能保证A能收到B的信息,需要双方都确认才行
# Share
暂无内容