mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-25 00:16:28 +08:00
fine tune
This commit is contained in:
parent
b2246e11a7
commit
9f59c572b5
32 changed files with 44 additions and 44 deletions
|
@ -38,7 +38,7 @@ class LinkedListDeque {
|
|||
void push(int num, bool isFront) {
|
||||
final ListNode node = ListNode(num);
|
||||
if (isEmpty()) {
|
||||
// 若链表为空,则令 _front,_rear 都指向 node
|
||||
// 若链表为空,则令 _front 和 _rear 都指向 node
|
||||
_front = _rear = node;
|
||||
} else if (isFront) {
|
||||
// 队首入队操作
|
||||
|
|
|
@ -16,7 +16,7 @@ class GraphAdjList:
|
|||
def __init__(self, edges: list[list[Vertex]]):
|
||||
"""构造方法"""
|
||||
# 邻接表,key: 顶点,value:该顶点的所有邻接顶点
|
||||
self.adj_list = dict[Vertex, Vertex]()
|
||||
self.adj_list = dict[Vertex, list[Vertex]]()
|
||||
# 添加所有顶点和边
|
||||
for edge in edges:
|
||||
self.add_vertex(edge[0])
|
||||
|
|
|
@ -92,7 +92,7 @@ class HashMapChaining:
|
|||
|
||||
"""Driver Code"""
|
||||
if __name__ == "__main__":
|
||||
# 测试代码
|
||||
# 初始化哈希表
|
||||
hashmap = HashMapChaining()
|
||||
|
||||
# 添加操作
|
||||
|
|
|
@ -35,7 +35,7 @@ class TreeNode:
|
|||
|
||||
def list_to_tree_dfs(arr: list[int], i: int) -> TreeNode | None:
|
||||
"""将列表反序列化为二叉树:递归"""
|
||||
# 如果索引超出数组长度,或者对应的元素为 None,返回 None
|
||||
# 如果索引超出数组长度,或者对应的元素为 None ,则返回 None
|
||||
if i < 0 or i >= len(arr) or arr[i] is None:
|
||||
return None
|
||||
# 构建当前节点
|
||||
|
|
|
@ -857,7 +857,7 @@
|
|||
为了加深对列表工作原理的理解,我们尝试实现一个简易版列表,包括以下三个重点设计。
|
||||
|
||||
- **初始容量**:选取一个合理的数组初始容量。在本示例中,我们选择 10 作为初始容量。
|
||||
- **数量记录**:声明一个变量 size,用于记录列表当前元素数量,并随着元素插入和删除实时更新。根据此变量,我们可以定位列表尾部,以及判断是否需要扩容。
|
||||
- **数量记录**:声明一个变量 `size` ,用于记录列表当前元素数量,并随着元素插入和删除实时更新。根据此变量,我们可以定位列表尾部,以及判断是否需要扩容。
|
||||
- **扩容机制**:若插入元素时列表容量已满,则需要进行扩容。首先根据扩容倍数创建一个更大的数组,再将当前数组的所有元素依次移动至新数组。在本示例中,我们规定每次将数组扩容至之前的 2 倍。
|
||||
|
||||
=== "Python"
|
||||
|
|
|
@ -75,7 +75,7 @@ $$
|
|||
|
||||
**第三步:确定边界条件和状态转移顺序**
|
||||
|
||||
在本题中,处在首行的状态只能向右转移,首列状态只能向下转移,因此首行 $i = 0$ 和首列 $j = 0$ 是边界条件。
|
||||
在本题中,首行的状态只能从其左边的状态得来,首列的状态只能从其上边的状态得来,因此首行 $i = 0$ 和首列 $j = 0$ 是边界条件。
|
||||
|
||||
如下图所示,由于每个格子是由其左方格子和上方格子转移而来,因此我们使用采用循环来遍历矩阵,外循环遍历各行、内循环遍历各列。
|
||||
|
||||
|
|
Loading…
Reference in a new issue