《算法通关之路》学习笔记,记录一下自己的刷题过程,详细的内容请大家购买作者的书籍查阅。
自己平常用的最多编程语言的就是python,这篇博客是将笔者边学边刷《算法通关之路》的题目跟代码记录下来,也参考了leetcode的官方题解,结合自己的思考对原作者的代码有一定的改动,所有题目都是来自于leetcode,几乎涵盖了leetcode和我们求职笔试中的全部题目类型。
1-两数之和、15-三数之和、18-四数之和、454-四数相加II、16-最接近的三数之和、53-最大子序列和、179-最大数、166-分数到小数、368-最大整数子集、1175-质数排列
680-验证回文串II、234-回文链表、9-回文数、5-最长回文子串、516-最长回文子序列、906-超级回文数
38-外观数组、679-24点、37-解数独、289-生命游戏
113-路径总和 II、124-二叉树中的最大路径和、200-岛屿数量、305-岛屿数量 II
704-二分查找、153-寻找旋转排序数组中的最小值、875-爱吃香蕉的珂珂、69-x 的平方根、162-寻找峰值、410-分割数组的最大值
191-位1的个数、371-两整数之和、397-整数替换、136-只出现一次的数字、137-只出现一次的数字 II、260-只出现一次的数字 III
155-最小栈、208-实现Trie(前缀树)、146-LRU 缓存、460-LFU 缓存、1206-设计跳表
11-盛最多水的容器、3-无重复字符的最长子串
70-爬楼梯、198-打家劫舍、213-打家劫舍II、62-不同路径、322-零钱兑换、518-零钱兑换II
239-滑动窗口最大值、76-最小覆盖子串、424-替换后的最长重复字符、567-字符串的排列
877-石子游戏、486-预测赢家、292-Nim 游戏、375-猜数字大小 II
121-买卖股票的最佳时机、122-买卖股票的最佳时机 II、714-买卖股票的最佳时机含手续费、309-最佳买卖股票时机含冷冻期、188-买卖股票的最佳时机 IV、123-买卖股票的最佳时机 III
23-合并 K 个升序链表、215-数组中的第K个最大元素、240-搜索二维矩阵 II
455-分发饼干、55-跳跃游戏、621-任务调度器、135-分发糖果、435-无重叠区间
46-全排列、47-全排列 II、39-组合总和、40-组合总和 II、78-子集、90-子集 II
229-多数元素 II、84-柱状图中最大的矩形、1185-一周中的第几天、365-水壶问题、458-可怜的小猪
二分法(普通二分法、二分法变种)、回溯法、并查集、BFS、滑动窗口(窗口大小固定,最优解与窗口大小无关、窗口大小不固定,最优解为最小窗口、窗口大小不固定,最优解为最大窗口)、数学(判断素数、最大公约数、最小公倍数)
189-轮转数组、61-旋转链表、72-编辑距离、215-数组中的第K个最大元素、703-数据流中的第 K 大元素、230-二叉搜索树中第K小的元素、378-有序矩阵中第 K 小的元素、668-乘法表中第k小的数
1284-转化为全零矩阵的最少反转次数、73-矩阵置零、1291-顺次数、127-单词接龙、1277-统计全为 1 的正方形子矩阵、1297-子串的最大出现次数、289-生命游戏