An open API service indexing awesome lists of open source software.

https://github.com/huichuanli/alogritme-interview


https://github.com/huichuanli/alogritme-interview

greedy-algorithms linked-list recursion

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

| ** 面试leetcode题目 ** | python |
| :--- | :--- |
| ** 第一章 数组基础 ** | python |
| 1-1 BinarySearch |[python](./Chapter01_ArrayProblem/BinarySearch.py)|
| 1-2 即使简单的问题,也有很多优化的思路 | 283 27 26 80 |
| 1-3 三路快排partition思路的应用 Sort Color | 75 88 215 |
| 1-4 对撞指针 Two Sum II - Input Array is Sorted | 167 125 344 345 11 |
| 1-5 滑动窗口 Minimum Size Subarray Sum | 209 3 438 76 |
| **第二章 查找表相关问题** | | |
| 2-1 set的使用 Intersection of Two Arrays | 349 |
| 2-2 map的使用 Intersection of Two Arrays II | 350 |
| 2-3 set和map不同底层实现的区别 | 349 350 136 242 202 290 205 451 |
| 2-4 使用查找表的经典问题 Two Sum | 1 15 18 16
| 2-5 灵活选择键值 4Sum II | 454 49 |
| 2-6 灵活选择键值 Number of Boomerangs | 447 149 719 |
| 2-7 查找表和滑动窗口 Contain Duplicate II | 219 |
| 2-8 二分搜索树底层实现的顺序性 Contain Duplicate III | 220 |
| **第三章 在链表中穿针引线** | | |
| 3-1 链表,在节点间穿针引线 Reverse Linked List | 206 92 |
| 3-2 测试你的链表程序 | 206 83 86 328 2 445 |
| 3-3 设立链表的虚拟头结点 Remove Linked List Elements | 203 82 21 |
| 3-4 复杂的穿针引线 Swap Nodes in Pairs | 24 25 147 148 |
| 3-5 不仅仅是穿针引线 Delete Node in a Linked List | 237 |
| 3-6 链表与双指针 Remove Nth Node Form End of List | 19 61 143 234 |
| **第四章 栈、队列、优先队列** | | |
| 6-1 栈的基础应用 Valid Parentheses | 20 150 71 |
| 6-2 栈和递归的紧密关系 Binary Tree Preorder, Inorder and Postorder Traversal | 144 94 145 |
| 6-3 运用栈模拟递归 | 144 94 145 341 |
| 6-4 队列的典型应用 Binary Tree Level Order Traversal | 102 107 103 199 346 |
| 6-5 BFS和图的最短路径 Perfect Squares | 279 127 126 286 |
| 6-6 优先队列 | [无] | [无] |
| 6-7 优先队列相关的算法问题 Top K Frequent Elements | 347 23 |
| **第五章 二叉树和递归** | |
| 7-1 二叉树天然的递归结构 | 104 111 |
| 7-2 一个简单的二叉树问题引发的血案 Invert Binary Tree | 226 100 101 222 110 |
| 7-3 注意递归的终止条件 Path Sum | 112 111 404 |
| 7-4 定义递归问题 Binary Tree Path | 257 113 129 222 |
| 7-5 稍复杂的递归逻辑 Path Sum III | 437 |
| 7-6 二分搜索树中的问题 Lowest Common Ancestor of a Binary Search Tree | 783 235 98 450 108 230 236 530 |
| **第六章 递归和回溯法** | | | | |
| 8-1 树形问题 Letter Combinations of a Phone Number | 17 | [无]
| 8-2 什么是回溯 | 17 93 131 |
| 8-3 排列问题 Permutations | 46 47|
| 8-4 组合问题 Combinations | 77 | [无] |
| 8-5 回溯法解决组合问题的优化 | 77 39 40 216 78 90 401 |
| 8-6 二维平面上的回溯法 Word Search | 79 | [无] |
| 8-7 floodfill算法,一类经典问题 Number of Islands | 200 130 417 |
| 8-8 回溯法是经典人工智能的基础 N Queens | 51 52 37 |
| **第七章 动态规划基础** | | |
| 9-1 什么是动态规划 | [无] | [无] |
| 9-2 第一个动态规划问题 Climbing Stairs | 70 120 64 |
| 9-3 发现重叠子问题 Integer Break | 343 279 91 62 63 |
| 9-4 状态的定义和状态转移 House Robber | 198 213 337 309 |
| 9-5 0-1背包问题 | [无] | [无] |
| 9-6 0-1背包问题的优化和变种 | [无] | [无] |
| 9-7 面试中的0-1背包问题 Partition Equal Subset Sum | 416 322 377 474 139 494 |
| 9-8 LIS问题 Longest Increasing Subsequence | 300 376 |
| 9-9 LCS,最短路,求动态规划的具体解以及更多 | [无] | [无] |
| **第八章 贪心算法** | | |
| 10-1 贪心基础 Assign Cookies | 455 392 |
| 10-2 贪心算法与动态规划的关系 Non-overlapping Intervals | 435 | [无] |
| 10-3 贪心选择性质的证明 | [无] | [无] |