# coding-for-algorithms **Repository Path**: jinboom/coding-for-algorithms ## Basic Information - **Project Name**: coding-for-algorithms - **Description**: 数据结构,剑指offer,leetcode等OJ平台刷题记录(C++/Python/Java) - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-19 - **Last Updated**: 2025-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 通过刷题练习算法,包含两种语言 Python 和 C++ 的实现。其中题目描述在 Python 版本中。 如果在 C++ 版本没有看到解题思路,可以查看 Python 版本的解题思路。 ### [简单函数实现](https://github.com/jinbooooom/coding-for-algorithms/tree/master/function) | [int2str](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/int2str.cpp) | [str2int](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/str2int.cpp) | [strcat](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/strcat.cpp) | [strcmp](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/strcmp.cpp) | [strcpy](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/strcpy.cpp) | [memcpy](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/memcpy.cpp) | [strstr](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/strstr.cpp) | [swapInt](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/swapInt.cpp) | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | | [swapStr](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/swapStr.cpp) | [strlen](https://github.com/jinbooooom/coding-for-algorithms/blob/master/function/strlen.cpp) | | | | | | | ### [常用排序算法](https://github.com/jinbooooom/coding-for-algorithms/tree/master/dataStructure/sort) | 排序算法 | 平均 | 最好 | 最坏 | 空间复杂度 | 稳定性 | 实现 | 实现 | 适用的数据规模 | | :------: | :----: | :----: | :----: | :--------: | :----: | ------------------------------------------------------------ | ------------------------------------------------------------ | :------------: | | 直接插入 | n^2 | n | n^2 | 1 | 稳定 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/insertSort.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/insert.cpp) | 少 | | 希尔排序 | n^1.3 | n | n^2 | 1 | 不稳定 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/shellSort.py) | C++ | | | 直接选择 | n^2 | n^2 | n^2 | 1 | 不稳定 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/selectSort.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/select.cpp) | 少 | | 堆排序 | nlog2n | nlog2n | nlog2n | 1 | 不稳定 | | C++ | 多 | | 冒泡排序 | n^2 | n | n^2 | 1 | 稳定 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/bubbleSort.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/bubble.cpp) | 少 | | 快速排序 | nlog2n | nlog2n | n^2 | nlog2n | 不稳定 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/quickSort.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/quick.cpp) | 多 | | 归并排序 | nlog2n | nlog2n | nlog2n | n | 稳定 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/mergeSort.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/sort/merge.cpp) | 多 | ### [数据结构](https://github.com/jinbooooom/coding-for-algorithms/tree/master/dataStructure) | 数据结构 | 实现 | 实现 | | :--------: | :----------------------------------------------------------: | :----------------------------------------------------------: | | 链表 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/list/linkedList.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/list/linkedList.cpp) | | 双向链表 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/list/doubleLinkedList.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/list/doubleLinkedList.cpp) | | 栈 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/stack/stack.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/stack/stack.cpp) | | 队列 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/queue/queue.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/queue/queue.cpp) | | 双向队列 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/queue/deque.py) | | | 循环队列 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/queue/loopqueue.py) | | | 二叉树 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/tree/BinaryTree.py) | | | 二叉排序树 | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/dataStructure/tree/BST.cpp) | ### 栈与队列 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----: | :--: | | [用两个栈实现队列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/9-%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97) | [剑指-9](https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6?tpId=13&tqId=11158&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/9-%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97/stack2queue.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/9-%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97/JZ9.cpp) | | 1 | | [包含min函数的栈](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/30-%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88) | [剑指-30](https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&tqId=11173&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/30-%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88/min.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/30-%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88/JZ30.cpp) | | 1 | | [栈的压入弹出序列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/31-%E6%A0%88%E7%9A%84%E5%8E%8B%E5%85%A5%E5%BC%B9%E5%87%BA%E5%BA%8F%E5%88%97) | [剑指-31](https://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106?tpId=13&tqId=11174&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/31-%E6%A0%88%E7%9A%84%E5%8E%8B%E5%85%A5%E5%BC%B9%E5%87%BA%E5%BA%8F%E5%88%97/isPopOrder.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/31-%E6%A0%88%E7%9A%84%E5%8E%8B%E5%85%A5%E5%BC%B9%E5%87%BA%E5%BA%8F%E5%88%97/JZ31.cpp) | | 2 | ### 链表 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :------: | :--: | | [反向打印链表](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/6-%E5%8F%8D%E5%90%91%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8) | [剑指-6](https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/6-%E5%8F%8D%E5%90%91%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8/6%20printListFromTailToHead.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/6-%E5%8F%8D%E5%90%91%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8/mainJZ6.cpp) | | 1 | | [删除链表的结点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/18-%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9) | 剑指-18 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/18-%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9/deleteNode.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/18-%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9/mainJZ18.cpp) | | 1 | | [删除链表的重复结点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/18-%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9) | [剑指-18扩展](https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId=13&tqId=11209&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/18-%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9/deleteduplication.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/18-%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9/mainJZ18-2.cpp) | | 1 | | [链表的中间节点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/876-%E9%93%BE%E8%A1%A8%E7%9A%84%E4%B8%AD%E9%97%B4%E7%BB%93%E7%82%B9) | [力扣-876](https://leetcode-cn.com/problems/middle-of-the-linked-list/solution/lian-biao-de-zhong-jian-jie-dian-by-leetcode/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/876-%E9%93%BE%E8%A1%A8%E7%9A%84%E4%B8%AD%E9%97%B4%E7%BB%93%E7%82%B9/leetcode876.cpp) | 快慢指针 | 1 | | [回文链表](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/234-%E5%9B%9E%E6%96%87%E9%93%BE%E8%A1%A8) | [力扣-234](https://leetcode-cn.com/problems/palindrome-linked-list/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/234-%E5%9B%9E%E6%96%87%E9%93%BE%E8%A1%A8/leetcode234.cpp) | 快慢指针 | 2 | | [链表中倒数第k个节点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/22-%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%ACk%E4%B8%AA%E8%8A%82%E7%82%B9) | [剑指-22](https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/22-%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%ACk%E4%B8%AA%E8%8A%82%E7%82%B9/findKthToTail.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/22-%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%ACk%E4%B8%AA%E8%8A%82%E7%82%B9/JZ22.cpp) | 快慢指针 | 2 | | [链表中环的入口结点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/23-%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%8E%AF%E7%9A%84%E5%85%A5%E5%8F%A3%E8%8A%82%E7%82%B9) | [剑指-23](https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?tpId=13&tqId=11208&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/23-%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%8E%AF%E7%9A%84%E5%85%A5%E5%8F%A3%E8%8A%82%E7%82%B9/entryNodeOfLoop.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/23-%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%8E%AF%E7%9A%84%E5%85%A5%E5%8F%A3%E8%8A%82%E7%82%B9/JZ23.cpp) | | 3 | | [反转链表](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/24-%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8) | [剑指-24](https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/24-%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8/reverseList.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/24-%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8/JZ24.cpp) | | 2 | | [合并两个排序的链表](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/25-%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%8E%92%E5%BA%8F%E7%9A%84%E9%93%BE%E8%A1%A8) | [剑指-25](https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/25-%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%8E%92%E5%BA%8F%E7%9A%84%E9%93%BE%E8%A1%A8/merge.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/25-%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%8E%92%E5%BA%8F%E7%9A%84%E9%93%BE%E8%A1%A8/JZ25.cpp) | | 1 | | [两数相加](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/2-%E4%B8%A4%E6%95%B0%E7%9B%B8%E5%8A%A0) | [力扣-2](https://leetcode-cn.com/problems/add-two-numbers/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/2-%E4%B8%A4%E6%95%B0%E7%9B%B8%E5%8A%A0/addTwoNumbers.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/2-%E4%B8%A4%E6%95%B0%E7%9B%B8%E5%8A%A0/main2.cpp) | | 1 | | [两个列表的第一个公共结点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/52-%E4%B8%A4%E4%B8%AA%E9%93%BE%E8%A1%A8%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%85%AC%E5%85%B1%E7%BB%93%E7%82%B9) | [剑指-52](https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46?tpId=13&tqId=11189&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/52-%E4%B8%A4%E4%B8%AA%E9%93%BE%E8%A1%A8%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%85%AC%E5%85%B1%E7%BB%93%E7%82%B9/JZ52.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/52-%E4%B8%A4%E4%B8%AA%E9%93%BE%E8%A1%A8%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%85%AC%E5%85%B1%E7%BB%93%E7%82%B9/JZ52.cpp) | 快慢指针 | 2 | | [对链表进行插入排序](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/147-%E5%AF%B9%E9%93%BE%E8%A1%A8%E8%BF%9B%E8%A1%8C%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F) | [力扣-147](https://leetcode-cn.com/problems/insertion-sort-list/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/147-%E5%AF%B9%E9%93%BE%E8%A1%A8%E8%BF%9B%E8%A1%8C%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F/leetcode147.cpp) | | 3 | ### 树 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :------: | :--: | | [重建二叉树](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/7-%E9%87%8D%E5%BB%BA%E4%BA%8C%E5%8F%89%E6%A0%91) | [剑指-7](https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tqId=11157&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/7-%E9%87%8D%E5%BB%BA%E4%BA%8C%E5%8F%89%E6%A0%91/reConstructBinaryTree.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/7-%E9%87%8D%E5%BB%BA%E4%BA%8C%E5%8F%89%E6%A0%91/JZ7.cpp) | | 2 | | [二叉树的下一个结点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/8-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E4%B8%8B%E4%B8%80%E4%B8%AA%E8%8A%82%E7%82%B9) | [剑指-8](https://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e?tpId=13&tqId=11210&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/8-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E4%B8%8B%E4%B8%80%E4%B8%AA%E8%8A%82%E7%82%B9/getNext.py) | | | 2 | | [树的子结构](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/26-%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84) | [剑指-26](https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/26-%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84/hasSubTree.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/26-%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84/JZ26.cpp) | | 2 | | [二叉树的镜像](https://www.nowcoder.com/practice/a9d0ecbacef9410ca97463e4a5c83be7?tpId=13&tqId=1374963&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) | [剑指-27](https://www.nowcoder.com/practice/a9d0ecbacef9410ca97463e4a5c83be7?tpId=13&tqId=1374963&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/27-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%95%9C%E5%83%8F/mirror.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/27-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%95%9C%E5%83%8F/JZ27.cpp) | | 1 | | [对称二叉树](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/28-%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91) | [剑指-28](https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=13&tqId=11211&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/28-%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91/isSymmetrical.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/28-%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91/JZ28.cpp) | | 1 | | [从上到下打印二叉树](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91) | [剑指-32](https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91/printFormTopToBottom.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91/JZ32.cpp) | | 1 | | [把二叉树打印成多行](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91) | [剑指-32扩展](https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288?tpId=13&tqId=11213&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91/printManyLines.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91/JZ32-2.cpp) | | 2 | | [按“之”字形打印二叉树](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91) | [剑指-32扩展](https://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0?tpId=13&tqId=11212&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91/printZHI.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/32-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91/JZ32-3.cpp) | | 2 | | [二叉搜索树的后序遍历](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/33-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86) | [剑指-33](https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&tqId=11176&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/33-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86/verifySquenceOfBST.py) | | | 2 | | [二叉树中和为某一值的路径](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/34-%E4%BA%8C%E5%8F%89%E6%A0%91%E4%B8%AD%E5%92%8C%E4%B8%BA%E6%9F%90%E4%B8%80%E5%80%BC%E7%9A%84%E8%B7%AF%E5%BE%84) | [剑指-34](https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca?tpId=13&tqId=11177&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/34-%E4%BA%8C%E5%8F%89%E6%A0%91%E4%B8%AD%E5%92%8C%E4%B8%BA%E6%9F%90%E4%B8%80%E5%80%BC%E7%9A%84%E8%B7%AF%E5%BE%84/findPath.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/34-%E4%BA%8C%E5%8F%89%E6%A0%91%E4%B8%AD%E5%92%8C%E4%B8%BA%E6%9F%90%E4%B8%80%E5%80%BC%E7%9A%84%E8%B7%AF%E5%BE%84/JZ34.cpp) | | 2 | | [二叉搜索树与双向链表](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/36%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%8E%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8) | [剑指-36](https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&tqId=11179&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/36%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%8E%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8/convert.py) | | | 2 | | [二叉搜索树的第k大节点](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/54-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E7%AC%ACk%E5%A4%A7%E8%8A%82%E7%82%B9) | [剑指-54](https://www.nowcoder.com/practice/57aa0bab91884a10b5136ca2c087f8ff?tpId=13&tqId=2305268&ru=/practice/947f6eb80d944a84850b0538bf0ec3a5&qru=/ta/coding-interviews/question-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/54-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E7%AC%ACk%E5%A4%A7%E8%8A%82%E7%82%B9/JZ54.py) | | 树的遍历 | 2 | | [二叉树的深度](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/55-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%B7%B1%E5%BA%A6) | [剑指-55](https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqId=11191&rp=2&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tPage=2) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/55-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%B7%B1%E5%BA%A6/JZ55.py) | | 递归 | 1 | ### 图与回溯 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :--------------: | :--: | | [矩阵中的路径](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/12-%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E8%B7%AF%E5%BE%84) | [剑指-12](https://www.nowcoder.com/practice/c61c6999eecb4b8f88a98f66b273a3cc?tpId=13&tqId=11218&tPage=4&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/12-%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E8%B7%AF%E5%BE%84/12%20hasPath.py) | | | 3 | | [机器人的运动范围](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/13-%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E8%BF%90%E5%8A%A8%E8%8C%83%E5%9B%B4) | [剑指-13](https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8?tpId=13&tqId=11219&tPage=4&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/13-%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E8%BF%90%E5%8A%A8%E8%8C%83%E5%9B%B4/movingCount.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/13-%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E8%BF%90%E5%8A%A8%E8%8C%83%E5%9B%B4/JZ13.cpp) | | 2 | | [岛屿数量](https://leetcode-cn.com/problems/number-of-islands) | [力扣-200](https://leetcode-cn.com/problems/number-of-islands) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/200-%E5%B2%9B%E5%B1%BF%E6%95%B0%E9%87%8F/numIslands.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/200-%E5%B2%9B%E5%B1%BF%E6%95%B0%E9%87%8F/leetcode200.cpp) | DFS,BFS,并查集 | 4 | ### 数组与字符串 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----: | :--: | | [字符串的全排列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/剑指offer/38-字符串的排列) | [剑指-38](https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7?tpId=13&tqId=11180&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/剑指offer/38-字符串的排列/Permutation.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/剑指offer/38-字符串的排列/mainJZ36.cpp) | | 2 | | [顺时针打印矩阵](https://github.com/jinbooooom/coding-for-algorithms/tree/master/剑指offer/29-顺时针打印矩阵) | [剑指-29](https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a?tpId=13&tqId=11172&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/剑指offer/29-顺时针打印矩阵/printMatrixClockWisely.py) | | | 2 | | [替换空格](https://github.com/jinbooooom/coding-for-algorithms/tree/master/剑指offer/5-替换空格) | [剑指-5](https://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&tqId=11155&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/剑指offer/5-替换空格/replaceBlank.py) | | | 1 | | [两数之和](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/1-两数之和) | [力扣-1](https://leetcode-cn.com/problems/two-sum) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/1-两数之和/twoSum.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/1-%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C/leetcode1.cpp) | 哈希 | 1 | | [三数之和](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/15-%E4%B8%89%E6%95%B0%E4%B9%8B%E5%92%8C) | [力扣-15](https://leetcode-cn.com/problems/3sum) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/15-%E4%B8%89%E6%95%B0%E4%B9%8B%E5%92%8C/treeSum.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/15-%E4%B8%89%E6%95%B0%E4%B9%8B%E5%92%8C/leetcode15.cpp) | 双指针 | 2 | | [两数之和之数组有序](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/167-%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C2-%E8%BE%93%E5%85%A5%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84) | 剑指-57,[力扣-167](https://leetcode-cn.com/problems/two-_sum-ii-input-array-is-sorted/submissions/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/167-%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C2-%E8%BE%93%E5%85%A5%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84/twoSum.py) | | 双指针 | 1 | | [验证回文串](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/125-验证回文串) | [力扣-125](https://leetcode-cn.com/problems/valid-palindrome) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/125-验证回文串/isPalindrome.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/125-验证回文串/main125.cpp) | 双指针 | 1 | | [删除排序数组中的重复项](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/26-%E5%88%A0%E9%99%A4%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E9%87%8D%E5%A4%8D%E9%A1%B9) | [力扣-26](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/26-%E5%88%A0%E9%99%A4%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E9%87%8D%E5%A4%8D%E9%A1%B9/remove.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/26-%E5%88%A0%E9%99%A4%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E9%87%8D%E5%A4%8D%E9%A1%B9/main26.cpp) | | 1 | | [实现strStr](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/28-%E5%AE%9E%E7%8E%B0strStr()) | [力扣-28](https://leetcode-cn.com/problems/implement-strstr) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/28-%E5%AE%9E%E7%8E%B0strStr()/strStr.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/28-%E5%AE%9E%E7%8E%B0strStr()/main28.cpp) | | 1 | | [旋转图像](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/48-%E6%97%8B%E8%BD%AC%E5%9B%BE%E5%83%8F) | [力扣-48](https://leetcode-cn.com/problems/rotate-image) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/48-%E6%97%8B%E8%BD%AC%E5%9B%BE%E5%83%8F/rotate.py) | | | 1 | | [加一](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/66-%E5%8A%A0%E4%B8%80) | [力扣-66](https://leetcode-cn.com/problems/plus-one) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/66-%E5%8A%A0%E4%B8%80/plusOne.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/66-%E5%8A%A0%E4%B8%80/main66.cpp) | | 1 | | [旋转数组](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/189-%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84) | [力扣-189](https://leetcode-cn.com/problems/rotate-array) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/189-%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84/rotate.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/189-%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84/main189.cpp) | | 1 | | [两个数组的交集](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/349-%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86) | [力扣-349](https://leetcode-cn.com/problems/intersection-of-two-arrays) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/349-%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86/349-interSection.py) | | | 1 | | [两个数组的交集扩展](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/349-%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86) | [力扣-350](https://leetcode-cn.com/problems/intersection-of-two-arrays-ii) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/349-%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86/350-interSection2.py) | | | 1 | | [字符串中的第一个唯一字符](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/387-%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%94%AF%E4%B8%80%E5%AD%97%E7%AC%A6) | [力扣-387](https://leetcode-cn.com/problems/first-unique-character-in-a-string) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/387-%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%94%AF%E4%B8%80%E5%AD%97%E7%AC%A6/leetcode387.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/387-%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%94%AF%E4%B8%80%E5%AD%97%E7%AC%A6/leetcode387.cpp) | 哈希 | 1 | | [判断子序列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/392-%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97) | [力扣-392](https://leetcode-cn.com/problems/is-subsequence) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/392-%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97/leetcode392.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/392-%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97/leetcode392.cpp) | | 1 | | [反转单词顺序](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/58-%E5%8F%8D%E8%BD%AC%E5%8D%95%E8%AF%8D%E9%A1%BA%E5%BA%8F) | [剑指-58](https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3?tpId=13&tqId=11197&rp=2&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tPage=3) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/58-%E5%8F%8D%E8%BD%AC%E5%8D%95%E8%AF%8D%E9%A1%BA%E5%BA%8F/JZ58.py) | | | 1 | | [左旋转字符串](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/58-%E5%8F%8D%E8%BD%AC%E5%8D%95%E8%AF%8D%E9%A1%BA%E5%BA%8F) | [剑指58-扩展](https://www.nowcoder.com/practice/12d959b108cb42b1ab72cef4d36af5ec?tpId=13&tqId=11196&rp=2&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tPage=3) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/58-%E5%8F%8D%E8%BD%AC%E5%8D%95%E8%AF%8D%E9%A1%BA%E5%BA%8F/JZ58-2.py) | | | 1 | | [最长公共前缀](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/14-%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%89%8D%E7%BC%80) | [力扣-14](https://leetcode-cn.com/problems/longest-common-prefix/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/14-%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%89%8D%E7%BC%80/leetcode14.cpp) | | 1 | | [寻找峰值](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/162-%E5%AF%BB%E6%89%BE%E5%B3%B0%E5%80%BC) | [力扣-162](https://leetcode-cn.com/problems/find-peak-element) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/162-%E5%AF%BB%E6%89%BE%E5%B3%B0%E5%80%BC/leetcode162.cpp) | 二分 | 1 | | [递增的三元子序列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/334-%E9%80%92%E5%A2%9E%E7%9A%84%E4%B8%89%E5%85%83%E5%AD%90%E5%BA%8F%E5%88%97) | [力扣-334](https://leetcode-cn.com/problems/increasing-triplet-subsequence/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/334-%E9%80%92%E5%A2%9E%E7%9A%84%E4%B8%89%E5%85%83%E5%AD%90%E5%BA%8F%E5%88%97/leetcode334.cpp) | | 2 | | [跳跃游戏](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/55-%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F) | [力扣-55](https://leetcode-cn.com/problems/jump-game) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/55-%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F/jump.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/55-%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F/leetcode55.cpp) | | 2 | | [根据身高重建队列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/406-%E6%A0%B9%E6%8D%AE%E8%BA%AB%E9%AB%98%E9%87%8D%E5%BB%BA%E9%98%9F%E5%88%97) | [力扣-406](https://leetcode-cn.com/problems/queue-reconstruction-by-height/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/406-%E6%A0%B9%E6%8D%AE%E8%BA%AB%E9%AB%98%E9%87%8D%E5%BB%BA%E9%98%9F%E5%88%97/leetcode406.cpp) | | 2 | ### 排序与搜索 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----: | :--: | | [数组中重复的数字](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/3-%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97) | [剑指-3](https://www.nowcoder.com/practice/623a5ac0ea5b4e5f95552655361ae0a8?tpId=13&tqId=11203&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/3-%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97/duplication.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/3-%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97/JZ3.cpp) | | | | [数组中重复的数字扩展](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/3-%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97) | 剑指3-扩展 | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/3-%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97/duplication2.py) | | | | | [二维数组中的查找](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/4-%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE) | [剑指-4](https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=13&tqId=11154&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/4-%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE/find.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/4-%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE/JZ4.cpp) | | | | [旋转数组的最小数字](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/11-%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97) | [剑指-11](https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba?tpId=13&tqId=11159&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/11-%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97/minOfRotatingArray.py) | | | | | [调整数组顺序使奇数在偶数前面](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/21-%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2) | [剑指-21](https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&tqId=11166&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/21-%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2/reOrderArray.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/21-%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2/JZ21.cpp) | | | | [数组中出现次数超过一半的数字](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/39-%E6%95%B0%E7%BB%84%E4%B8%AD%E5%87%BA%E7%8E%B0%E6%95%B0%E5%AD%97%E8%B6%85%E8%BF%87%E4%B8%80%E5%8D%8A%E7%9A%84%E6%95%B0%E5%AD%97) | [剑指-39](https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&tqId=11181&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/39-%E6%95%B0%E7%BB%84%E4%B8%AD%E5%87%BA%E7%8E%B0%E6%95%B0%E5%AD%97%E8%B6%85%E8%BF%87%E4%B8%80%E5%8D%8A%E7%9A%84%E6%95%B0%E5%AD%97/MoreThanHalfNum_Solution.py) | | | | | [最小的 k 个数](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/40-%E6%9C%80%E5%B0%8F%E7%9A%84k%E4%B8%AA%E6%95%B0) | [剑指-40](https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=13&tqId=11182&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/40-%E6%9C%80%E5%B0%8F%E7%9A%84k%E4%B8%AA%E6%95%B0/GetLeastNumbers_Solution.py) | | | | | [搜索插入位置](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/35-%E6%90%9C%E7%B4%A2%E6%8F%92%E5%85%A5%E4%BD%8D%E7%BD%AE) | [力扣-35](https://leetcode-cn.com/problems/search-insert-position/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/35-%E6%90%9C%E7%B4%A2%E6%8F%92%E5%85%A5%E4%BD%8D%E7%BD%AE/searchInsert.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/35-%E6%90%9C%E7%B4%A2%E6%8F%92%E5%85%A5%E4%BD%8D%E7%BD%AE/main35.cpp) | 二分 | 1 | | [颜色排序](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/75-%E9%A2%9C%E8%89%B2%E6%8E%92%E5%BA%8F) | [力扣-75](https://leetcode-cn.com/problems/sort-colors/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/75-%E9%A2%9C%E8%89%B2%E6%8E%92%E5%BA%8F/sortColors.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/75-%E9%A2%9C%E8%89%B2%E6%8E%92%E5%BA%8F/main75.cpp) | 排序 | 2 | | [摆动排序](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/324-%E6%91%86%E5%8A%A8%E6%8E%92%E5%BA%8F2) | [力扣-324](https://leetcode-cn.com/problems/wiggle-sort-ii/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/324-%E6%91%86%E5%8A%A8%E6%8E%92%E5%BA%8F2/wiggle-sort-ii.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/324-%E6%91%86%E5%8A%A8%E6%8E%92%E5%BA%8F2/main324.cpp) | 排序 | 2 | ### 动态规划 【注】 子序列不要求连续,子串要求连续 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------: | :--: | | [剪绳子](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/14-%E5%89%AA%E7%BB%B3%E5%AD%90) | [剑指-14](https://www.nowcoder.com/practice/57d85990ba5b440ab888fc72b0751bf8?tpId=13&tqId=33257&tPage=4&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/14-%E5%89%AA%E7%BB%B3%E5%AD%90/maxCut.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/14-%E5%89%AA%E7%BB%B3%E5%AD%90/JZ14.cpp) | | 1 | | [连续子数组的最大和](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/42-%E8%BF%9E%E7%BB%AD%E5%AD%90%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%A4%A7%E5%92%8C) | [剑指-42](https://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484?tpId=13&tqId=11183&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/42-%E8%BF%9E%E7%BB%AD%E5%AD%90%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%A4%A7%E5%92%8C/FindGreatestSumOfSubArray.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/42-%E8%BF%9E%E7%BB%AD%E5%AD%90%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%A4%A7%E5%92%8C/JZ42.cpp) | | 1 | | [连续子数组的最大积](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/152-%E8%BF%9E%E7%BB%AD%E5%AD%90%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%A4%A7%E7%A7%AF) | [力扣-152](https://leetcode-cn.com/problems/maximum-product-subarray/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/152-%E8%BF%9E%E7%BB%AD%E5%AD%90%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%A4%A7%E7%A7%AF/leetcode152.cpp) | | 2 | | [01背包无价值](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LintCode/1-01%E8%83%8C%E5%8C%85%E6%97%A0%E4%BB%B7%E5%80%BC) | [领扣-92](https://www.lintcode.com/problem/backpack/description) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/1-01%E8%83%8C%E5%8C%85%E6%97%A0%E4%BB%B7%E5%80%BC/backPack.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/1-01%E8%83%8C%E5%8C%85%E6%97%A0%E4%BB%B7%E5%80%BC/lintcode92.cpp) | | 1 | | [01背包有价值](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LintCode/2-01%E8%83%8C%E5%8C%85%E6%9C%89%E4%BB%B7%E5%80%BC) | [领扣-125](https://www.lintcode.com/problem/backpack-ii/description) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/2-01%E8%83%8C%E5%8C%85%E6%9C%89%E4%BB%B7%E5%80%BC/backPack2.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/2-01%E8%83%8C%E5%8C%85%E6%9C%89%E4%BB%B7%E5%80%BC/lintcode125.cpp) | | 1 | | [完全背包](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LintCode/3-%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85) | [领扣](https://www.lintcode.com/problem/backpack-iii/description) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/3-%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85/backPage.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/3-%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85/lintcode-x.cpp) | | 1 | | [01背包返回方案数](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LintCode/4-01%E8%83%8C%E5%8C%85%E8%BF%94%E5%9B%9E%E6%96%B9%E6%A1%88%E6%95%B0) | [领扣-563](https://www.lintcode.com/problem/backpack-v/description) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/4-01%E8%83%8C%E5%8C%85%E8%BF%94%E5%9B%9E%E6%96%B9%E6%A1%88%E6%95%B0/backPage.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/4-01%E8%83%8C%E5%8C%85%E8%BF%94%E5%9B%9E%E6%96%B9%E6%A1%88%E6%95%B0/lintcode-x.cpp) | | 2 | | [完全背包返回方案数](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LintCode/5-%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E8%BF%94%E5%9B%9E%E6%96%B9%E6%A1%88%E6%95%B0) | [领扣-562](https://www.lintcode.com/problem/backpack-iv/description) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/5-%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E8%BF%94%E5%9B%9E%E6%96%B9%E6%A1%88%E6%95%B0/backPage.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LintCode/5-%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E8%BF%94%E5%9B%9E%E6%96%B9%E6%A1%88%E6%95%B0/lintcode562.cpp) | | 2 | | [买卖股票的最佳时机](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA) | [力扣-121](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/121-maxProfit.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/main121.cpp) | | 1 | | [买卖股票的最佳时机2](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA) | [力扣-122](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/122-maxProfit2.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/main122.cpp) | | 1 | | [买卖股票的最佳时机3](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA) | [力扣-123](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/main123.cpp) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/121-%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA/main123.cpp) | | 3 | | [最长回文子串](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/5-%E6%9C%80%E9%95%BF%E5%9B%9E%E6%96%87%E5%AD%90%E4%B8%B2) | [力扣-5](https://leetcode-cn.com/problems/longest-palindromic-substring/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/5-%E6%9C%80%E9%95%BF%E5%9B%9E%E6%96%87%E5%AD%90%E4%B8%B2/longestPalindrome.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/5-%E6%9C%80%E9%95%BF%E5%9B%9E%E6%96%87%E5%AD%90%E4%B8%B2/mian5.cpp) | | 3 | | [最长回文子序列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/516-%E6%9C%80%E9%95%BF%E5%9B%9E%E6%96%87%E5%AD%90%E5%BA%8F%E5%88%97) | [力扣-516](https://leetcode-cn.com/problems/longest-palindromic-subsequence) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/516-%E6%9C%80%E9%95%BF%E5%9B%9E%E6%96%87%E5%AD%90%E5%BA%8F%E5%88%97/leetcode516.cpp) | | 2 | | [不同路径](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/62-%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84) | [力扣-62](https://leetcode-cn.com/problems/unique-paths) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/62-%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84/uniquePaths.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/62-%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84/leetcode62.cpp) | | 1 | | [最小路径和](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/64-%E6%9C%80%E5%B0%8F%E8%B7%AF%E5%BE%84%E5%92%8C) | 剑指-47,[力扣-64](https://leetcode-cn.com/problems/minimum-path-sum) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/64-%E6%9C%80%E5%B0%8F%E8%B7%AF%E5%BE%84%E5%92%8C/minPathSum.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/64-%E6%9C%80%E5%B0%8F%E8%B7%AF%E5%BE%84%E5%92%8C/leetcode64.cpp) | | 1 | | [交错字符串](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/97-%E4%BA%A4%E9%94%99%E5%AD%97%E7%AC%A6%E4%B8%B2) | [力扣-97](https://leetcode-cn.com/problems/interleaving-string) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/97-%E4%BA%A4%E9%94%99%E5%AD%97%E7%AC%A6%E4%B8%B2/isInterleave.py) | | | 4 | | [打家劫舍](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/198-%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D) | [力扣-198](https://leetcode-cn.com/problems/house-robber) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/198-%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D/rob.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/198-%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D/leetcode198.cpp) | | 1 | | [零钱兑换](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/322-%E9%9B%B6%E9%92%B1%E5%85%91%E6%8D%A2) | [力扣-322](https://leetcode-cn.com/problems/coin-change) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/322-%E9%9B%B6%E9%92%B1%E5%85%91%E6%8D%A2/coinChange.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/322-%E9%9B%B6%E9%92%B1%E5%85%91%E6%8D%A2/leetcode322.cpp) | 完全背包变种 | 2 | | [分割等和子集](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/416-%E5%88%86%E5%89%B2%E7%AD%89%E5%92%8C%E5%AD%90%E9%9B%86) | [力扣-416](https://leetcode-cn.com/problems/partition-equal-subset-sum) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/416-%E5%88%86%E5%89%B2%E7%AD%89%E5%92%8C%E5%AD%90%E9%9B%86/canPartition.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/416-%E5%88%86%E5%89%B2%E7%AD%89%E5%92%8C%E5%AD%90%E9%9B%86/leetcode416.cpp) | 01背包变种 | 2 | | [一和零](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/474-%E4%B8%80%E5%92%8C%E9%9B%B6) | [力扣-474](https://leetcode-cn.com/problems/ones-and-zeroes) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/474-%E4%B8%80%E5%92%8C%E9%9B%B6/oneAndZero.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/474-%E4%B8%80%E5%92%8C%E9%9B%B6/leetcode474.cpp) | 多维01背包 | 3 | | [目标和](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/494-%E7%9B%AE%E6%A0%87%E5%92%8C) | [力扣-494](https://leetcode-cn.com/problems/target-sum) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/494-%E7%9B%AE%E6%A0%87%E5%92%8C/findTargetSumWays.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/494-%E7%9B%AE%E6%A0%87%E5%92%8C/leetcode494.cpp) | 01背包变种 | 3 | | [无重复字符的最长子串](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/3-%E6%97%A0%E9%87%8D%E5%A4%8D%E5%AD%97%E7%AC%A6%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%97%E4%B8%B2) | 剑指-48,[力扣-3](https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/3-%E6%97%A0%E9%87%8D%E5%A4%8D%E5%AD%97%E7%AC%A6%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%97%E4%B8%B2/leetcode3.cpp) | | 3 | | [最长上升子序列](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/300-%E6%9C%80%E9%95%BF%E4%B8%8A%E5%8D%87%E5%AD%90%E5%BA%8F%E5%88%97) | [力扣-300](https://leetcode-cn.com/problems/longest-increasing-subsequence/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/300-%E6%9C%80%E9%95%BF%E4%B8%8A%E5%8D%87%E5%AD%90%E5%BA%8F%E5%88%97/leetcode300.cpp) | | 1 | | [最长公共子串](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/1143-%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%AD%90%E4%B8%B2) | [力扣-1143](https://leetcode-cn.com/problems/longest-common-subsequence/) | | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/1143-%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%AD%90%E4%B8%B2/leet1143.cpp) | | 2 | ### 巧妙 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----: | :--: | | [二进制中1的个数](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/15-%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD1%E7%9A%84%E4%B8%AA%E6%95%B0) | [剑指-15](https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=13&tqId=11164&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/15-%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD1%E7%9A%84%E4%B8%AA%E6%95%B0/numberOf1.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/15-%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD1%E7%9A%84%E4%B8%AA%E6%95%B0/JZ15.cpp) | 位运算 | | | 汉明距离 | [力扣-461](https://leetcode-cn.com/problems/hamming-distance/) | | | 位运算 | | | [数值的整数次方](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/16-%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9) | [剑指-16](https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00?tpId=13&tqId=11165&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/16-%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9/Power.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/16-%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9/JZ16.cpp) | 递归 | | | [x的平方根](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/69-x%E7%9A%84%E5%B9%B3%E6%96%B9%E6%A0%B9) | [力扣-69](https://leetcode-cn.com/problems/sqrtx/) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/69-x%E7%9A%84%E5%B9%B3%E6%96%B9%E6%A0%B9/mySqrt.py) | | 二分 | | | [有效的完全平方数](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/367-%E6%9C%89%E6%95%88%E7%9A%84%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0) | [力扣-367](https://leetcode-cn.com/problems/valid-perfect-square) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/367-%E6%9C%89%E6%95%88%E7%9A%84%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0/isPerfectSquare.py) | | | | | [出现一次的数字](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/136-%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%97) | [力扣-136](https://leetcode-cn.com/problems/single-number) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/136-%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%97/singleNumber.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/136-%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%97/main136.cpp) | 位运算 | | | 缺失数字 | [力扣-268](https://leetcode-cn.com/problems/missing-number/) | | | 位运算 | | | [存在重复元素](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/217-%E5%AD%98%E5%9C%A8%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0) | [力扣-217](https://leetcode-cn.com/problems/contains-duplicate) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/217-%E5%AD%98%E5%9C%A8%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0/duplicate.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/217-%E5%AD%98%E5%9C%A8%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0/main217.cpp) | | | | 大数加法 | | | | | | ### 其他 | 题目 | 题目出处 | 实现 | 实现 | 知识点 | 难度 | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----: | :--: | | [青蛙跳台阶](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97) | [剑指-10](https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97/jumpFloor.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97/jumpFloor.cpp) | 数学 | 1 | | [变态跳台阶](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97) | [剑指-10扩展](https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387?tpId=13&tqId=11162&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97/jumpFloor2.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97/jumpFloor2.cpp) | 数学 | 1 | | [矩阵覆盖](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97) | [剑指-10扩展](https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&tqId=11163&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/10-fibonacci%E6%95%B0%E5%88%97/rectCover.py) | | 数学 | 1 | | [正则表达式匹配](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/19-%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D) | [剑指-19](https://www.nowcoder.com/practice/45327ae22b7b413ea21df13ee7d6429c?tpId=13&tqId=11205&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/19-%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D/match.py) | [C++](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/19-%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D/JZ19.cpp) | | 3 | | [表示数值的字符串](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/20-%E8%A1%A8%E7%A4%BA%E6%95%B0%E5%80%BC%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2) | [剑指-20](https://www.nowcoder.com/practice/6f8c901d091949a5837e24bb82a731f2?tpId=13&tqId=11206&tPage=3&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/20-%E8%A1%A8%E7%A4%BA%E6%95%B0%E5%80%BC%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2/isNumeric.py) | | | | | [把数组排列成最小的数](https://github.com/jinbooooom/coding-for-algorithms/tree/master/%E5%89%91%E6%8C%87offer/45-%E6%8A%8A%E6%95%B0%E7%BB%84%E6%8E%92%E6%88%90%E6%9C%80%E5%B0%8F%E7%9A%84%E6%95%B0) | [剑指-45](https://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993?tpId=13&tqId=11185&tPage=2&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/%E5%89%91%E6%8C%87offer/45-%E6%8A%8A%E6%95%B0%E7%BB%84%E6%8E%92%E6%88%90%E6%9C%80%E5%B0%8F%E7%9A%84%E6%95%B0/PrintMinNumber.py) | | | 3 | | [有效数字](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/65-%E6%9C%89%E6%95%88%E6%95%B0%E5%AD%97) | [力扣-65](https://leetcode-cn.com/problems/valid-number) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/65-%E6%9C%89%E6%95%88%E6%95%B0%E5%AD%97/isNumber.py) | | 有限状态机 | 3 | | [移动零](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/283-%E7%A7%BB%E5%8A%A8%E9%9B%B6) | [力扣-283](https://leetcode-cn.com/problems/move-zeroes) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/283-%E7%A7%BB%E5%8A%A8%E9%9B%B6/moveZeros.py) | | | | | [猜数字大小](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/374-%E7%8C%9C%E6%95%B0%E5%AD%97%E5%A4%A7%E5%B0%8F) | [力扣-374](https://leetcode-cn.com/problems/guess-number-higher-or-lower) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/374-%E7%8C%9C%E6%95%B0%E5%AD%97%E5%A4%A7%E5%B0%8F/guessNumber.py) | | | | | [朋友圈](https://github.com/jinbooooom/coding-for-algorithms/tree/master/LeetCode/547-%E6%9C%8B%E5%8F%8B%E5%9C%88) | [力扣-547](https://leetcode-cn.com/problems/friend-circles) | [Python](https://github.com/jinbooooom/coding-for-algorithms/blob/master/LeetCode/547-%E6%9C%8B%E5%8F%8B%E5%9C%88/friend.py) | | 并查集 | 3 | | [丑数](https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b?tpId=13&tqId=11186&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) | [剑指-49](https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b?tpId=13&tqId=11186&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) | Python | C++ | | 1 |