O(n^2)排序 冒泡排序、插入排序与选择排序(Python)_NLP_victor的博客-CSDN博客

归并 归并排序(Python)_NLP_victor的博客-CSDN博客

快排 快速排序(Python)_NLP_victor的博客-CSDN博客

堆排序 https://blog.csdn.net/IOT_victor/article/details/103604409

二分查找及其变体 二分查找及其变体(Python)_NLP_victor的博客-CSDN博客

Trie树 LeetCode—Python—208. 实现 Trie (前缀树)_NLP_victor的博客-CSDN博客

编辑距离 DP-LeetCode72. 编辑距离_NLP_victor的博客-CSDN博客

LRU缓存机制(哈希+双向链表)LeetCode146. LRU缓存机制(哈希+双向链表)_NLP_victor的博客-CSDN博客

一、数据结构类题目

① 数组

剑13. 机器人的运动范围DFShttps://blog.csdn.net/IOT_victor/article/details/108262517

238. 除自身以外数组的乘积(前后两趟遍历)LeetCode238. 除自身以外数组的乘积(Python)_NLP_victor的博客-CSDN博客

剑21.调整数组顺序使奇数位于偶数前面(双指针、稳定排序)https://blog.csdn.net/IOT_victor/article/details/104735419-----------

54. 螺旋矩阵59. 螺旋矩阵 II 数组-LeetCode54. 螺旋矩阵+59. 螺旋矩阵 II_NLP_victor的博客-CSDN博客

1. 两数之和 167. 两数之和 II-有序数组(双指针对撞) LeetCode167. 两数之和 II - 输入有序数组 + 1. 两数之和_NLP_victor的博客-CSDN博客

  • 888. 公平的糖果棒交换(两数之和变形)LeetCode888. 公平的糖果棒交换(两数之和变形)_NLP_victor的博客-CSDN博客

15. 三数之和(双指针对撞) 双指针-LeetCode15. 三数之和_NLP_victor的博客-CSDN博客

18. 四数之和(双指针) 双指针-LeetCode18. 四数之和_NLP_victor的博客-CSDN博客

454. 四数相加 II(哈希)LeetCode454. 四数相加 II(哈希)_NLP_victor的博客-CSDN博客

349. 两个数组的交集 + 350. 两个数组的交集 II LeetCode349. 两个数组的交集 + 350. 两个数组的交集 II_NLP_victor的博客-CSDN博客

56. 合并区间(首位排序+规律) LeetCode56. 合并区间(首位排序+规律)_NLP_victor的博客-CSDN博客

283. 移动零(双指针)LeetCode—Python—283. 移动零(双指针)_NLP_victor的博客-CSDN博客

最大数

643. 子数组最大平均数 I(前缀和、滑动窗口)https://blog.csdn.net/IOT_victor/article/details/113705185

1423. 可获得的最大点数(滑动窗口)LeetCode1423. 可获得的最大点数(滑动窗口)_NLP_victor的博客-CSDN博客

321. 拼接最大数(单调栈、分治)LeetCode321. 拼接最大数(单调栈、分治)_NLP_victor的博客-CSDN博客

单调栈

42. 接雨水(单调栈) 双指针、单调栈-LeetCode42. 接雨水_NLP_victor的博客-CSDN博客

84. 柱状图中最大的矩形+85. 最大矩形(单调栈)LeetCode84. 柱状图中最大的矩形+85. 最大矩形(单调栈)_NLP_victor的博客-CSDN博客

769. 最多能完成排序的块+768.II(元素可重复)单调栈 LeetCode769. 最多能完成排序的块+768.II(元素可重复)_NLP_victor的博客-CSDN博客 ------

402. 移掉K位数字(单调栈)LeetCode402. 移掉K位数字(单调栈)_NLP_victor的博客-CSDN博客

找数字

剑39.数组中出现次数超过一半的数字 39:数组中出现次数超过一半的数字(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

41. 缺失的第一个正数(原地哈希) https://blog.csdn.net/IOT_victor/article/details/107497712

剑3.数组中重复的数字(原地哈希)3:数组中重复的数字(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

287. 寻找重复数(二分/抽屉原理)LeetCode287. 寻找重复数(二分)_NLP_victor的博客-CSDN博客

136. 只出现一次的数字(异或)LeetCode136. 只出现一次的数字(异或)_NLP_victor的博客-CSDN博客

Kth问题

440. 字典序的第K小数字 LeetCode440. 字典序的第K小数字_NLP_victor的博客-CSDN博客

378. 有序矩阵中第K小的元素 二分 二分、数组-LeetCode378. 有序矩阵中第K小的元素_NLP_victor的博客-CSDN博客

19. 删除链表的倒数第N个节点/剑22链表中倒数第k个节点 22:链表中倒数第k个节点(剑指offer第2版)+ LeetCode19. 删除链表的倒数第N个节点_NLP_victor的博客-CSDN博客

215. 数组中的第K个最大元素(快堆) LeetCode—Python—215. 数组中的第K个最大元素(快排、堆排序)_NLP_victor的博客-CSDN博客

剑40. 最小的k个数(大根堆) 40:最小的K个数(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

347. 前 K 个高频元素( Counter ,小根堆) LeetCode—Python—347. 前K个高频元素_NLP_victor的博客-CSDN博客

(左神)两个有序数组中找第k小的数 二分-LeetCode4. 寻找两个正序数组的中位数+两个有序数组中找第k小的数_NLP_victor的博客-CSDN博客

中位数

41.数据流中的中位数(Heap)41:数据流中的中位数(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

295. 数据流的中位数(官方) 力扣

480. 滑动窗口中位数(二分查找)LeetCode480. 滑动窗口中位数(二分查找)_NLP_victor的博客-CSDN博客

序列型

剑57-1.和为S的两个数(双指针) 57-1:和为S的两个数字(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

剑57-2.和为S的连续正数序列(滑动窗口) 57-2:和为S的连续正数序列(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

128. 最长连续序列([100, 4, 200, 1, 3, 2]- [1, 2, 3, 4])https://blog.csdn.net/iot_victor/article/details/108590555

491. 递增子序列(DFS、回溯再看思路) DFS、回溯-LeetCode491. 递增子序列_NLP_victor的博客-CSDN博客

排列

31. 下一个排列 LeetCode.31. 下一个排列(全排列)_NLP_victor的博客-CSDN博客

60. 第k个排列(规律题) LeetCode60. 第k个排列(规律题)_NLP_victor的博客-CSDN博客

46. 全排列(不重复数字)回溯  https://blog.csdn.net/IOT_victor/article/details/107072205

47. 全排列 II(可重复数字)回溯、剪枝 https://blog.csdn.net/IOT_victor/article/details/107073704

回溯

39. 组合总和 回溯-LeetCode39. 组合总和_NLP_victor的博客-CSDN博客

40. 组合总和 II+216. 组合总和 III(回溯)LeetCode40. 组合总和 II+216. 组合总和 III(回溯)_NLP_victor的博客-CSDN博客

77. 组合回溯-LeetCode77. 组合(Python)_NLP_victor的博客-CSDN博客_回溯组合python

78. 子集+90. 子集 II(回溯)LeetCode78. 子集+90. 子集 II(回溯)_NLP_victor的博客-CSDN博客

51、52N皇后(回溯)LeetCode51、52N皇后(回溯)Python_NLP_victor的博客-CSDN博客

37. 解数独(回溯+set)https://blog.csdn.net/IOT_victor/article/details/108612552

场景题

452. 用最少数量的箭引爆气球(排序+贪心、区间问题)https://blog.csdn.net/IOT_victor/article/details/110084095

11. 盛最多水的容器(双指针) 双指针-LeetCode11. 盛最多水的容器_NLP_victor的博客-CSDN博客

16.11. 跳水板(Math) Math-面试题 16.11. 跳水板_NLP_victor的博客-CSDN博客

135. 分发糖果(贪心) 贪心-LeetCode135. 分发糖果_NLP_victor的博客-CSDN博客

845. 数组中的最长山脉(双指针技巧)LeetCode845. 数组中的最长山脉(双指针技巧)_NLP_victor的博客-CSDN博客

605. 种花问题(贪心) 贪心-LeetCode605. 种花问题_NLP_victor的博客-CSDN博客

134. 加油站(逻辑题)LeetCode134. 加油站(逻辑题)_NLP_victor的博客-CSDN博客

976. 三角形的最大周长 LeetCode976. 三角形的最大周长(Python)_NLP_victor的博客-CSDN博客

排序、有序数组

4. 寻找两个正序数组的中位数+两个有序数组中找第k小的数 二分-LeetCode4. 寻找两个正序数组的中位数+两个有序数组中找第k小的数_NLP_victor的博客-CSDN博客

88. 合并两个有序数组+合并K个有序数组 LeetCode88. 合并两个有序数组 + 合并K个有序数组_NLP_victor的博客-CSDN博客_leetcode 合并k个有序数组

977. 有序数组的平方(双指针)双指针-LeetCode977. 有序数组的平方_NLP_victor的博客-CSDN博客

1365. 有多少小于当前数字的数字(计数排序、字典计数)https://blog.csdn.net/IOT_victor/article/details/109301044

75.颜色分类(荷兰国旗问题)(双指针)LeetCod75.颜色分类(荷兰国旗问题)(Python)_NLP_victor的博客-CSDN博客

493. 翻转对(归并排序)LeetCode493. 翻转对(归并排序)_NLP_victor的博客-CSDN博客

164. 最大间距(桶排序)https://blog.csdn.net/IOT_victor/article/details/110206750

二分查找 、有序数组

力扣

4. 寻找两个正序数组的中位数 二分-LeetCode4. 寻找两个正序数组的中位数+两个有序数组中找第k小的数_NLP_victor的博客-CSDN博客

240:搜索二维矩阵II (通用模板) 4:二维数组中的查找(剑指offer第2版)LeetCode240:搜索二维矩阵II_NLP_victor的博客-CSDN博客

74. 搜索二维矩阵(240的特例) 数组、二分-LeetCode74. 搜索二维矩阵_NLP_victor的博客-CSDN博客

378. 有序矩阵中第K小的元素 二分、数组-LeetCode378. 有序矩阵中第K小的元素_NLP_victor的博客-CSDN博客

34. 在排序数组中查找元素的第一个和最后一个位置 https://blog.csdn.net/IOT_victor/article/details/107107062

剑53.数字在排序数组中出现的次数(二分查找)53-1:数字在排序数组中出现的次数(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

35. 搜索插入位置(排序数组) https://blog.csdn.net/IOT_victor/article/details/107392091

153.154 寻找旋转数组中的最小值+33. 81搜索旋转排序数组(旋转数组) 剑11LC153.154 寻找旋转数组中的最小值+33. 81搜索旋转排序数组(旋转数组系列)_NLP_victor的博客-CSDN博客

动态规划

DP-221. 最大正方形 DP-LeetCode221. 最大正方形_NLP_victor的博客-CSDN博客

978. 最长湍流子数组(动态规划)https://blog.csdn.net/IOT_victor/article/details/113764230

DFS

130. 被围绕的区域(DFS) https://blog.csdn.net/IOT_victor/article/details/107930466

200. 岛屿数量(BFS、DFS、并查集) LeetCode200. 岛屿数量(BFS、DFS)_NLP_victor的博客-CSDN博客

695. 岛屿的最大面积(DFS) DFS-LeetCode695. 岛屿的最大面积_NLP_victor的博客-CSDN博客

矩阵操作

48. 旋转图像LeetCode48. 旋转图像(Python)_NLP_victor的博客-CSDN博客

数列

665. 非递减数列(分类讨论)https://blog.csdn.net/IOT_victor/article/details/113786754

② 字符串

普通操作题

剑20.判断字符串是否表示数值(ifelse) 20:表示数值的字符串(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

14. 最长公共前缀 https://blog.csdn.net/IOT_victor/article/details/106415733 --------力扣-------------

466. 统计重复个数(难字节笔)循环节 循环节-LeetCode466. 统计重复个数_NLP_victor的博客-CSDN博客

划分、区间、拆分

763. 划分字母区间(dict+双指针)LeetCode763. 划分字母区间(dict+双指针)_NLP_victor的博客-CSDN博客

139. 单词拆分(DP) DP-LeetCode139. 单词拆分_NLP_victor的博客-CSDN博客

匹配、搜索

44. 通配符匹配(任意字符串包括空)(DP) DP-LeetCode44. 通配符匹配(任意字符串包括空)_NLP_victor的博客-CSDN博客

10. 正则表达式匹配  DP-LeetCode10. 正则表达式匹配(零个或多个前面的那个元素)_NLP_victor的博客-CSDN博客

回文

516. 最长回文子序列(DP)   DP-LeetCode516. 最长回文子序列(Python)_NLP_victor的博客-CSDN博客

相关题: LeetCode5. 最长回文子串(双指针、中心扩展算法)LeetCode5. 最长回文子串647. 回文子串(双指针、中心扩展算法)_NLP_victor的博客-CSDN博客

普通操作题

93. 复原IP地址 https://blog.csdn.net/IOT_victor/article/details/107543028

6. Z 字形变换 字符串-LeetCode6. Z 字形变换_NLP_victor的博客-CSDN博客

696. 计数二进制子串(计数,找技巧) 字符串-LeetCode696. 计数二进制子串_NLP_victor的博客-CSDN博客

1370. 上升下降字符串(桶计数)LeetCode1370. 上升下降字符串(桶计数)_NLP_victor的博客-CSDN博客

双指针

392. 判断子序列(s 是否为 t 的子序列) https://blog.csdn.net/IOT_victor/article/details/107622640

125. 验证回文串(双指针) https://blog.csdn.net/IOT_victor/article/details/107771407

344.反转字符串 https://blog.csdn.net/IOT_victor/article/details/88075071

数学

415. 字符串相加 https://blog.csdn.net/IOT_victor/article/details/107768744

滑动窗口

76. 最小覆盖子串(滑动窗口) 滑动窗口-LeetCode76. 最小覆盖子串_NLP_victor的博客-CSDN博客

424. 替换后的最长重复字符(滑动窗口)LeetCode424. 替换后的最长重复字符(双指针:滑动窗口)_NLP_victor的博客-CSDN博客

1208. 尽可能使字符串相等(滑动窗口)https://blog.csdn.net/IOT_victor/article/details/113704949

567. 字符串的排列(滑动窗口、Counter)https://blog.csdn.net/IOT_victor/article/details/113786466

DP

674. 最长连续递增序列Longest Continuous Increasing Subsequence DP-LeetCode674. 最长连续递增序列Longest Continuous Increasing Subsequence_NLP_victor的博客-CSDN博客(连续

相关题:300.最长上升子序列(LIS)  DP、二分-LeetCode300. 最长上升子序列LIS+673. 最长递增子序列的个数(Python)_NLP_victor的博客-CSDN博客(二分查找)(可以不连续

DFS

79. 单词搜索(DFS+4种directions)https://blog.csdn.net/IOT_victor/article/details/108565980

哈希表(counter、dict)

1002. 查找常用字符(哈希表、count)LeetCode1002. 查找常用字符(哈希表、count)_NLP_victor的博客-CSDN博客_哈希表count函数

767. 重构字符串(贪心+Count)https://blog.csdn.net/IOT_victor/article/details/110426207

242. 有效的字母异位词(哈希表)https://blog.csdn.net/IOT_victor/article/details/88630227

II:14. 字符串中的变位词/15. 字符串中的所有变位词/32. 有效的变位词/33. 变位词组

场景题

17. 电话号码的字母组合 LeetCode17. 电话号码的字母组合(Python)_NLP_victor的博客-CSDN博客

③ Stack & Queue & Heap(栈、队列、堆)

9.用两个栈实现队列9:用两个栈实现队列(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

9.两个队列实现栈9:用两个栈实现队列(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

31.栈的压入、弹出序列31:栈的压入、弹出序列(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

59.滑动窗口的最大值(双端队列)59-1:滑动窗口的最大值(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

41.数据流中的中位数(Heap)https://blog.csdn.net/IOT_victor/article/details/103940622 --------力扣-------------

20. 有效的括号isValid(栈)https://blog.csdn.net/IOT_victor/article/details/105166364

二、具体算法类题目

搜索算法

4:二维数组中的查找LeetCode240:搜索二维矩阵II4:二维数组中的查找(剑指offer第2版)LeetCode240:搜索二维矩阵II_NLP_victor的博客-CSDN博客

11.旋转数组的最小数字(二分查找)https://blog.csdn.net/IOT_victor/article/details/104362924

排序 

51.数组中的逆序对(归并排序)https://blog.csdn.net/IOT_victor/article/details/104350702

力215. 数组中的第K个最大元素(快排、堆排序)LeetCode—Python—215. 数组中的第K个最大元素(快排、堆排序)_NLP_victor的博客-CSDN博客

全排列 38.字符串的排列38:字符串的排列(剑指offer第2版Python)_NLP_victor的博客-CSDN博客

动态规划 48.最长不含重复字符的子字符串 力扣

回溯 13.机器人的运动范围(DFS)力扣

三、其他算法

3.1 Math、位运算

470. 用 Rand7() 实现 Rand10() 力扣

8. 字符串转换整数 (atoi) 力扣

16.数值的整数次方(位运算 )https://blog.csdn.net/IOT_victor/article/details/104738503

44.数字序列中某一位的数字(Math)44:数字序列中某一位的数字(剑指offer第2版Python)LeetCode.400_NLP_victor的博客-CSDN博客_数字序列中某一位的数字python

43.整数中1出现的次数(从1到n整数中1出现的次数)(Bit Manipulation)

67.把字符串转换成整数(Bit Manipulation) 67:把字符串转换成整数(剑指offer第2版Python)_NLP_victor的博客-CSDN博客_python2 字符串转整数 --------力扣-------------

191. 位1的个数(剑15二进制中1的个数)位运算https://blog.csdn.net/IOT_victor/article/details/106864049

50. Pow(x, n)剑16数值的整数次方(二分、快速幂) https://blog.csdn.net/IOT_victor/article/details/104738503

69. x 的平方根(二分) 二分-LeetCode69. x 的平方根_NLP_victor的博客-CSDN博客

带精确小数 python实现牛顿迭代法和二分法求平方根,精确到小数点后无限多位-4_※夏日星空※的博客-CSDN博客

16.11. 跳水板(Math) https://blog.csdn.net/IOT_victor/article/details/107201346

7. 整数反转 https://blog.csdn.net/IOT_victor/article/details/107460903

3.2 贪心算法

贪心-LeetCode605. 种花问题 https://blog.csdn.net/IOT_victor/article/details/106723879

55. 跳跃游戏(DP、贪心) https://blog.csdn.net/IOT_victor/article/details/106336199 (存在型)

1024. 视频拼接(贪心、DP)LeetCode1024. 视频拼接(贪心、DP)_NLP_victor的博客-CSDN博客

3.3 回溯、BFS、DFS

46. 全排列(不重复数字)回溯  回溯-LeetCode46. 全排列_NLP_victor的博客-CSDN博客

47. 全排列 II(可重复数字)回溯、剪枝 回溯、剪枝-LeetCode47. 全排列 II_NLP_victor的博客-CSDN博客

22.括号生成(回溯、DFS) https://blog.csdn.net/IOT_victor/article/details/107027310

200. 岛屿数量(BFS、DFS、并查集) LeetCode200. 岛屿数量(BFS、DFS)_NLP_victor的博客-CSDN博客

695. 岛屿的最大面积(DFS) https://blog.csdn.net/IOT_victor/article/details/107799429

剑指offer第2版Python题解(更新中)相关推荐

  1. 剑指Offer——面试小提示(持续更新中)

    (1)应聘者在电话面试的时候应尽可能用形象的语言把细节说清楚. (2)如果在英语面试时没有听清或没有听懂面试官的问题,应聘者要敢于说Pardon. (3)在共享桌面远程面试中,面试官最关心的是应聘者的 ...

  2. 剑指offer(第二版)读书笔记以及编程题目python版答案(二)

    剑指offer(第二版)读书笔记以及编程题目python版答案(二) 题目五:青蛙跳台阶 github地址: https://github.com/ciecus/leetcode_answers/tr ...

  3. 【剑指offer】Java版代码(完整版)

    参考链接 [剑指offer]Java版代码(完整版)

  4. 剑指Offer(第二版)面试题56:数组中数字出现的次数

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/73609133冷血之心的博客) 剑指Offer(第二版)面试题56: ...

  5. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  6. 剑指offer——面试题57:删除链表中重复的结点

    剑指offer--面试题57:删除链表中重复的结点 Solution1: 删两遍,自己想的破算法.理论上时间复杂度也是O(n)O(n)O(n),并非最优解. /* struct ListNode {i ...

  7. 剑指offer——面试题55:字符流中第一个不重复的字符

    剑指offer--面试题55:字符流中第一个不重复的字符 Solution1: 当年第一次做这个题的做法 对此题最大的感想是: 1)区分deque(双端队列)和queue(队列): 2)要熟悉queu ...

  8. 剑指 Offer 22(链表4).链表中的倒数第k个结点

    剑指 Offer 22(链表4).链表中的倒数第k个结点 问题描述: 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链 ...

  9. 剑指Offer(JS版)

    字符串的排列 题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. ...

最新文章

  1. Mysql提示缺少表的别名报错_mysql对sql中别名引起的Column not found问题
  2. Swift 反射Mirror的使用
  3. Linux命令:sed
  4. HDS:转型关键还是私有云
  5. 支持向量机SVM(Support Vector Machines)介绍
  6. .NET常用功能和代码[总结与收藏]
  7. 浅析 record 使用场景
  8. Maven : Cannot deploy artifact from the local repository
  9. 修改ASM磁盘组冗余模式(一):copy-switch方式
  10. 使用Oracle 10g的Logminer挖掘日志
  11. kindeditor 文件上传在 spring mvc下的使用
  12. 开发人员为什么要学会画技术架构图?
  13. 华为设备VRRP配置命令
  14. 金蝶软件各版本安装包下载地址
  15. 【调参07】不平衡分类问题中分类权重计算与设置
  16. 开学季如何选择数码好物,几款开学必备的数码好物分享
  17. 人生就是一场“康波”,你准备好了吗?
  18. 一周信创舆情观察(11.22~11.28)
  19. 【ETL】一个故事知道ETL是什么
  20. excel用VBA插入列号

热门文章

  1. python实用脚本1:一键发送上下班打卡邮件
  2. 深入理解 tornado 之 底层 ioloop 实现(二)
  3. 切水果游戏中的刀的实现
  4. 爱客IKCRMCOM外包SaaS和云服务的五个关键因素
  5. 毕设-基于STM32刷卡、指纹的门禁系统(进阶版-指纹模块的驱动)
  6. P2P金融公司常见组织职责图
  7. 从耳机接口的OMTP和CTIA标准说起
  8. 20 项任务全面碾压 BERT,CMU 全新 XLNet 模型屠榜,代码已开源!
  9. grammarly 如何快速退款
  10. openwrt系统路由救砖(以wrtnode 2r为例)