7
7
这篇博客是我平时刷Leetcode,剑指offer题目和牛客网上的招聘题目等的代码、思路。代码和思路都保存在[ 我的github] ( https://github.com/Richard-coder/Programming-Practice/tree/master ) 上,我对于每一道题都尽量做到c++和python都进行实现。在解题的过程中会参考一些资料,难以面面俱到的写出参考信息,如若侵权,请联系删除。
8
8
9
9
代码思路的github连接:https://github.com/Richard-coder/Programming-Practice/tree/master
10
+
10
11
## Leetcode
12
+
11
13
| 题号 | 题目&&题解 | c++ | python | 难度|
12
14
| ---- | ---- | ---- | ---- | ---- |
13
15
| 26 | [ Remove Duplicates from Sorted Array] ( ./Leetcode/array/RemoveDuplicatesFromSortedArray/readme.md ) | [ c++] ( ./Leetcode/array/RemoveDuplicatesFromSortedArray/src/cpp/RemoveDuplicatesFromSortedArray.cpp ) | | easy |
@@ -45,7 +47,49 @@ tags: 目录
45
47
| 动态规划 贪心算法 | [ 014-剪绳子] ( ./剑指offer/014-剪绳子/readme.md ) | [ c++] ( ./剑指offer/014-剪绳子/src/cpp/014-剪绳子.cpp ) | [ python] ( ./剑指offer/014-剪绳子/src/python/014-剪绳子.py ) |
46
48
| 位运算 | [ 015-二进制中1的个数] ( ./剑指offer/015-二进制中1的个数/readme.md ) | [ c++] ( ./剑指offer/015-二进制中1的个数/src/cpp/015-二进制中1的个数.cpp ) | [ python] ( ./剑指offer/015-二进制中1的个数/src/python/015-二进制中1的个数.py ) |
47
49
| 快速求幂算法 | [ 016-数值的整数次方] ( ./剑指offer/016-数值的整数次方/readme.md ) | [ c++] ( ./剑指offer/016-数值的整数次方/src/cpp/016-数值的整数次方.cpp ) | [ python] ( ./剑指offer/016-数值的整数次方/src/python/016-数值的整数次方.py ) |
48
- | 大数 全排列 | [ 017-打印1到最大的n位数] ( ./剑指offer/017-打印1到最大的n位数/readme.md ) | [ c++] ( ./剑指offer/017-打印1到最大的n位数/src/cpp/017-打印1到最大的n位数.cpp ) | [ python] ( ./剑指offer/017-打印1到最大的n位数/src/python/017-打印1到最大的n位数.py ) |
50
+ | 链表 | [ 018_01-在O(1)时间删除链表结点] ( ./剑指offer/018_01-在O(1)时间删除链表结点/readme.md ) | [ c++] ( ./剑指offer/018_01-在O(1)时间删除链表结点/src/cpp/018_01-在O(1)时间删除链表结点.cpp ) | [ python] ( ./剑指offer/018_01-在O(1)时间删除链表结点/src/python/018_01-在O(1)时间删除链表结点.py ) |
51
+ | 链表 | [ 018_02-在O(1)时间删除链表结点] ( ./剑指offer/018_02-在O(1)时间删除链表结点/readme.md ) | [ c++] ( ./剑指offer/018_02-在O(1)时间删除链表结点/src/cpp/018_02-在O(1)时间删除链表结点.cpp ) | [ python] ( ./剑指offer/018_02-在O(1)时间删除链表结点/src/python/018_02-在O(1)时间删除链表结点.py ) |
52
+ | 递归 | [ 019-正则表达式匹配] ( ./剑指offer/019-正则表达式匹配/readme.md ) | [ c++] ( ./剑指offer/019-正则表达式匹配/src/cpp/019-正则表达式匹配.cpp ) | [ python] ( ./剑指offer/019-正则表达式匹配/src/python/019-正则表达式匹配.py ) |
53
+ | 字符串 | [ 020-表示数值的字符串] ( ./剑指offer/020-表示数值的字符串/readme.md ) | [ c++] ( ./剑指offer/020-表示数值的字符串/src/cpp/020-表示数值的字符串.cpp ) | [ python] ( ./剑指offer/020-表示数值的字符串/src/python/020-表示数值的字符串.py ) |
54
+ | 两指针 稳定排序 | [ 021-调整数组顺序使奇数位于偶数前面] ( ./剑指offer/021-调整数组顺序使奇数位于偶数前面/readme.md ) | [ c++] ( ./剑指offer/021-调整数组顺序使奇数位于偶数前面/src/cpp/021-调整数组顺序使奇数位于偶数前面.cpp ) | [ python] ( ./剑指offer/021-调整数组顺序使奇数位于偶数前面/src/python/021-调整数组顺序使奇数位于偶数前面.py ) |
55
+ | 两指针 | [ 022-链表中倒数第k个结点] ( ./剑指offer/022-链表中倒数第k个结点/readme.md ) | [ c++] ( ./剑指offer/022-链表中倒数第k个结点/src/cpp/022-链表中倒数第k个结点.cpp ) | [ python] ( ./剑指offer/022-链表中倒数第k个结点/src/python/022-链表中倒数第k个结点.py ) |
56
+ | 两指针 | [ 023-链表中环的入口结点] ( ./剑指offer/023-链表中环的入口结点/readme.md ) | [ c++] ( ./剑指offer/023-链表中环的入口结点/src/cpp/023-链表中环的入口结点.cpp ) | [ python] ( ./剑指offer/023-链表中环的入口结点/src/python/023-链表中环的入口结点.py ) |
57
+ | 链表 | [ 024-反转链表] ( ./剑指offer/024-反转链表/readme.md ) | [ c++] ( ./剑指offer/024-反转链表/src/cpp/024-反转链表.cpp ) | [ python] ( ./剑指offer/024-反转链表/src/python/024-反转链表.py ) |
58
+ | 链表 递归 | [ 025-合并两个排序的链表] ( ./剑指offer/025-合并两个排序的链表/readme.md ) | [ c++] ( ./剑指offer/025-合并两个排序的链表/src/cpp/025-合并两个排序的链表.cpp ) | [ python] ( ./剑指offer/025-合并两个排序的链表/src/python/025-合并两个排序的链表.py ) |
59
+ | 二叉树 递归 | [ 026-树的子结构] ( ./剑指offer/026-树的子结构/readme.md ) | [ c++] ( ./剑指offer/026-树的子结构/src/cpp/026-树的子结构.cpp ) | [ python] ( ./剑指offer/026-树的子结构/src/python/026-树的子结构.py ) |
60
+ | 二叉树 递归 遍历 | [ 027-二叉树的镜像] ( ./剑指offer/027-二叉树的镜像/readme.md ) | [ c++] ( ./剑指offer/027-二叉树的镜像/src/cpp/027-二叉树的镜像.cpp ) | [ python] ( ./剑指offer/027-二叉树的镜像/src/python/027-二叉树的镜像.py ) |
61
+ | 二叉树 递归 遍历 | [ 028-对称的二叉树] ( ./剑指offer/028-对称的二叉树/readme.md ) | [ c++] ( ./剑指offer/028-对称的二叉树/src/cpp/028-对称的二叉树.cpp ) | [ python] ( ./剑指offer/028-对称的二叉树/src/python/028-对称的二叉树.py ) |
62
+ | 边界条件 | [ 029-顺时针打印矩阵] ( ./剑指offer/029-顺时针打印矩阵/readme.md ) | [ c++] ( ./剑指offer/029-顺时针打印矩阵/src/cpp/029-顺时针打印矩阵.cpp ) | [ python] ( ./剑指offer/029-顺时针打印矩阵/src/python/029-顺时针打印矩阵.py ) |
63
+ | 栈 | [ 030-包含min函数的栈] ( ./剑指offer/030-包含min函数的栈/readme.md ) | [ c++] ( ./剑指offer/030-包含min函数的栈/src/cpp/030-包含min函数的栈.cpp ) | [ python] ( ./剑指offer/030-包含min函数的栈/src/python/030-包含min函数的栈.py ) |
64
+ | 栈 | [ 031-栈的压入弹出序列] (./剑指offer/ 031-栈的压入弹出序列/readme.md) | [ c++] (./剑指offer/ 031-栈的压入弹出序列/src/cpp/ 031-栈的压入弹出序列.cpp) | [ python] (./剑指offer/ 031-栈的压入弹出序列/src/python/ 031-栈的压入弹出序列.py) |
65
+ | 层次遍历 二叉树 | [ 032_01-从上往下打印二叉树] ( ./剑指offer/032_01-从上往下打印二叉树/readme.md ) | [ c++] ( ./剑指offer/032_01-从上往下打印二叉树/src/cpp/032_01-从上往下打印二叉树.cpp ) | [ python] ( ./剑指offer/032_01-从上往下打印二叉树/src/python/032_01-从上往下打印二叉树.py ) |
66
+ | 层次遍历 二叉树 | [ 032_02-把二叉树打印成多行] ( ./剑指offer/032_02-把二叉树打印成多行/readme.md ) | [ c++] ( ./剑指offer/032_02-把二叉树打印成多行/src/cpp/032_02-把二叉树打印成多行.cpp ) | [ python] ( ./剑指offer/032_02-把二叉树打印成多行/src/python/032_02-把二叉树打印成多行.py ) |
67
+ | 层次遍历 二叉树 | [ 032_03-按之字形顺序打印二叉树] ( ./剑指offer/032_03-按之字形顺序打印二叉树/readme.md ) | [ c++] ( ./剑指offer/032_03-按之字形顺序打印二叉树/src/cpp/032_03-按之字形顺序打印二叉树.cpp ) | [ python] ( ./剑指offer/032_03-按之字形顺序打印二叉树/src/python/032_03-按之字形顺序打印二叉树.py ) |
68
+ | 递归 二叉搜索树 | [ 033-二叉搜索树的后序遍历序列] ( ./剑指offer/033-二叉搜索树的后序遍历序列/readme.md ) | [ c++] ( ./剑指offer/033-二叉搜索树的后序遍历序列/src/cpp/033-二叉搜索树的后序遍历序列.cpp ) | [ python] ( ./剑指offer/033-二叉搜索树的后序遍历序列/src/python/033-二叉搜索树的后序遍历序列.py ) |
69
+ | 二叉树 前序遍历 | [ 034-二叉树中和为某一值的路径] ( ./剑指offer/034-二叉树中和为某一值的路径/readme.md ) | [ c++] ( ./剑指offer/034-二叉树中和为某一值的路径/src/cpp/034-二叉树中和为某一值的路径.cpp ) | [ python] ( ./剑指offer/034-二叉树中和为某一值的路径/src/python/034-二叉树中和为某一值的路径.py ) |
70
+ | 链表 | [ 035-复杂链表的复制] ( ./剑指offer/035-复杂链表的复制/readme.md ) | [ c++] ( ./剑指offer/035-复杂链表的复制/src/cpp/035-复杂链表的复制.cpp ) | [ python] ( ./剑指offer/035-复杂链表的复制/src/python/035-复杂链表的复制.py ) |
71
+ | 二叉搜索树 中序遍历 | [ 036-二叉搜索树与双向链表] ( ./剑指offer/036-二叉搜索树与双向链表/readme.md ) | [ c++] ( ./剑指offer/036-二叉搜索树与双向链表/src/cpp/036-二叉搜索树与双向链表.cpp ) | [ python] ( ./剑指offer/036-二叉搜索树与双向链表/src/python/036-二叉搜索树与双向链表.py ) |
72
+ | 二叉搜索树 前序遍历 | [ 037-序列化二叉树] ( ./剑指offer/037-序列化二叉树/readme.md ) | [ c++] ( ./剑指offer/037-序列化二叉树/src/cpp/037-序列化二叉树.cpp ) | [ python] ( ./剑指offer/037-序列化二叉树/src/python/037-序列化二叉树.py ) |
73
+ | 全排列 | [ 038_01-字符串的排列] ( ./剑指offer/038_01-字符串的排列/readme.md ) | [ c++] ( ./剑指offer/038_01-字符串的排列/src/cpp/038_01-字符串的排列.cpp ) | [ python] ( ./剑指offer/038_01-字符串的排列/src/python/038_01-字符串的排列.py ) |
74
+ | 全组合 | [ 038_02-全组合-不含重复元素] ( ./剑指offer/038_02-全组合-不含重复元素/readme.md ) | [ c++] ( ./剑指offer/038_02-全组合-不含重复元素/src/cpp/038_02-全组合-不含重复元素.cpp ) | [ python] ( ./剑指offer/038_02-全组合-不含重复元素/src/python/038_02-全组合-不含重复元素.py ) |
75
+ | 全组合 | [ 038_03-全组合-含重复元素] ( ./剑指offer/038_03-全组合-含重复元素/readme.md ) | [ c++] ( ./剑指offer/038_03-全组合-含重复元素/src/cpp/038_03-全组合-含重复元素.cpp ) | [ python] ( ./剑指offer/0038_03-全组合-含重复元素/src/python/038_03-全组合-含重复元素.py ) |
76
+ | 全排列 | [ 038_04-对面和相等的正方体] ( ./剑指offer/038_04-对面和相等的正方体/readme.md ) | [ c++] ( ./剑指offer/038_04-对面和相等的正方体/src/cpp/038_04-对面和相等的正方体.cpp ) | [ python] ( ./剑指offer/038_04-对面和相等的正方体/src/python/038_04-对面和相等的正方体.py ) |
77
+ | 全排列 | [ 038_05-N皇后] ( ./剑指offer/038_05-N皇后/readme.md ) | [ c++] ( ./剑指offer/038_05-N皇后/src/cpp/038_05-N皇后.cpp ) | [ python] ( ./剑指offer/038_05-N皇后/src/python/038_05-N皇后.py ) |
78
+ | 数组 | [ 039-数组中出现次数超过一半的数字] ( ./剑指offer/039-数组中出现次数超过一半的数字/readme.md ) | [ c++] ( ./剑指offer/039-数组中出现次数超过一半的数字/src/cpp/039-数组中出现次数超过一半的数字.cpp ) | [ python] ( ./剑指offer/039-数组中出现次数超过一半的数字/src/python/039-数组中出现次数超过一半的数字.py ) |
79
+ | 数组 | [ 040-最小的K个数] ( ./剑指offer/040-最小的K个数/readme.md ) | [ c++] ( ./剑指offer/040-最小的K个数/src/cpp/040-最小的K个数.cpp ) | [ python] ( ./剑指offer/040-最小的K个数/src/python/040-最小的K个数.py ) |
80
+ | 最大堆 最小堆 | [ 041-数据流中的中位数] ( ./剑指offer/041-数据流中的中位数/readme.md ) | [ c++] ( ./剑指offer/041-数据流中的中位数/src/cpp/041-数据流中的中位数.cpp ) | [ python] ( ./剑指offer/041-数据流中的中位数/src/python/041-数据流中的中位数.py ) |
81
+ | 动态规划 | [ 042-连续子数组的最大和] ( ./剑指offer/042-连续子数组的最大和/readme.md ) | [ c++] ( ./剑指offer/042-连续子数组的最大和/src/cpp/042-连续子数组的最大和.cpp ) | [ python] ( ./剑指offer/042-连续子数组的最大和/src/python/042-连续子数组的最大和.py ) |
82
+ | 递归 | [ 043-从1到n整数中1出现的次数] ( ./剑指offer/043-从1到n整数中1出现的次数/readme.md ) | [ c++] ( ./剑指offer/043-从1到n整数中1出现的次数/src/cpp/043-从1到n整数中1出现的次数.cpp ) | [ python] ( ./剑指offer/043-从1到n整数中1出现的次数/src/python/043-从1到n整数中1出现的次数.py ) |
83
+ | 找规律 | [ 044-数字序列中某一位的数字] ( ./剑指offer/044-数字序列中某一位的数字/readme.md ) | [ c++] ( ./剑指offer/044-数字序列中某一位的数字/src/cpp/044-数字序列中某一位的数字.cpp ) | [ python] ( ./剑指offer/044-数字序列中某一位的数字/src/python/044-数字序列中某一位的数字.py ) |
84
+ | 排序 | [ 045-把数组排成最小的数] ( ./剑指offer/045-把数组排成最小的数/readme.md ) | [ c++] ( ./剑指offer/045-把数组排成最小的数/src/cpp/045-把数组排成最小的数.cpp ) | [ python] ( ./剑指offer/045-把数组排成最小的数/src/python/045-把数组排成最小的数.py ) |
85
+ | 递归 | [ 046-把数字翻译成字符串] ( ./剑指offer/046-把数字翻译成字符串/readme.md ) | [ c++] ( ./剑指offer/046-把数字翻译成字符串/src/cpp/046-把数字翻译成字符串.cpp ) | [ python] ( ./剑指offer/046-把数字翻译成字符串/src/python/046-把数字翻译成字符串.py ) |
86
+ | 动态规划 | [ 047-礼物的最大价值] ( ./剑指offer/047-礼物的最大价值/readme.md ) | [ c++] ( ./剑指offer/047-礼物的最大价值/src/cpp/047-礼物的最大价值.cpp ) | [ python] ( ./剑指offer/047-礼物的最大价值/src/python/047-礼物的最大价值.py ) |
87
+ | 动态规划 | [ 048-最长不含重复字符的子字符串] ( ./剑指offer/048-最长不含重复字符的子字符串/readme.md ) | [ c++] ( ./剑指offer/048-最长不含重复字符的子字符串/src/cpp/048-最长不含重复字符的子字符串.cpp ) | [ python] ( ./剑指offer/048-最长不含重复字符的子字符串/src/python/048-最长不含重复字符的子字符串.py ) |
88
+ | 空间换时间 | [ 049-丑数] ( ./剑指offer/049-丑数/readme.md ) | [ c++] ( ./剑指offer/049-丑数/src/cpp/049-丑数.cpp ) | [ python] ( ./剑指offer/049-丑数/src/python/049-丑数.py ) |
89
+ | 哈希表 | [ 050_01-第一个只出现一次的字符] ( ./剑指offer/050_01-第一个只出现一次的字符/readme.md ) | [ c++] ( ./剑指offer/050_01-第一个只出现一次的字符/src/cpp/050_01-第一个只出现一次的字符.cpp ) | [ python] ( ./剑指offer/050_01-第一个只出现一次的字符/src/python/050_01-第一个只出现一次的字符.py ) |
90
+ | 哈希表 | [ 050_02-字符流中第一个只出现一次的字符] ( ./剑指offer/050_02-字符流中第一个只出现一次的字符/readme.md ) | [ c++] ( ./剑指offer/050_02-字符流中第一个只出现一次的字符/src/cpp/050_02-字符流中第一个只出现一次的字符.cpp ) | [ python] ( ./剑指offer/050_02-字符流中第一个只出现一次的字符/src/python/050_02-字符流中第一个只出现一次的字符.py ) |
91
+ | 归并排序 | [ 051-数组中的逆序对] ( ./剑指offer/051-数组中的逆序对/readme.md ) | [ c++] ( ./剑指offer/051-数组中的逆序对/src/cpp/051-数组中的逆序对.cpp ) | [ python] ( ./剑指offer/051-数组中的逆序对/src/python/051-数组中的逆序对.py ) |
92
+ | 链表 两指针 | [ 051-数组中的逆序对] ( ./剑指offer/051-数组中的逆序对/readme.md ) | [ c++] ( ./剑指offer/052-两个链表的第一个公共结点/src/cpp/052-两个链表的第一个公共结点.cpp ) | [ python] ( ./剑指offer/052-两个链表的第一个公共结点/src/python/052-两个链表的第一个公共结点.py ) |
49
93
50
94
## 经典算法&&数据结构
51
95
@@ -61,4 +105,5 @@ tags: 目录
61
105
2 . [ LeetCode题解] ( https://github.com/soulmachine/leetcode )
62
106
3 . [ 剑指Offer——名企面试官精讲典型编程题] ( https://github.com/gatieme/CodingInterviews )
63
107
4 . [ 牛客网] ( https://www.nowcoder.com/9087476 )
64
- 5 . [ AlgorithmsByPython] ( https://github.com/Jack-Lee-Hiter/AlgorithmsByPython )
108
+ 5 . [ AlgorithmsByPython] ( https://github.com/Jack-Lee-Hiter/AlgorithmsByPython )
109
+
0 commit comments