提前说明,挑战的人不是我。
大家周末好,我是爱上 B 站的小吴,最近一段时间我在网站 AlgoMooc 录制剑指 Offer 的视频,同时上传了一部分到 B 站,基于推荐算法,B 站疯狂的给我推送如何刷 LeetCode、如何学算法的相关内容,再也无法愉快的在首页看到华农兄弟、小姐姐们的视频了。
于是,这两天在首页看到一个极度「嚣张」的标题:挑战一天(12h)刷完《剑指offer》67题。
视频地址:https://b23.tv/ELn57H
看到这个标题,心想这要么是某个狂妄之辈,要么是小白,要么是大佬。
看完之后,跪了。
退役选手果然不容小视,他这种行为相当于英雄联盟职业选手退役后挑战多少天上荣耀王者。
不过这种选手毕竟还是少数,不是每个人都是 ACM 退役选手,大部分人刷《剑指 Offer》上的算法题短则一周长则数月才能刷完。
之所以刷《剑指 Offer》,是因为这本书的确很牛逼,它系统整理了面试会考察的基础知识、代码质量、解题思路、优化效率和综合能力这 5 个考点,如果刚开始练习算法题目,《剑指 Offer》是个不错的切入点。
在大厂的面试中,频繁的出现《剑指 Offer》上面的原题。
众所周知,刷题有一个很重要的技巧就是按照标签来刷,在某个时间段内只刷相对应的题目,这种做法可以极大的提高刷题的速度,而且能带来更好的效果。
-
1、持续地刷同个类型的题目,可以不断地巩固和加深理解。
-
2、可以更全面地接触这个数据结构,算法的各个变种,这会促使你对这个数据结构,算法的理解更加全面和深刻,学习的效率会更高。
根据数据结构和算法思想的分类,《剑指 Offer》可以分为以下几种标签:
-
链表
-
-
06 — 从尾到头打印链表 -
18 — 删除链表的节点 -
22 — 链表中倒数第 K 个节点 -
24 — 反转链表 -
35 — 复杂链表的复制 -
52 — 两个链表的第一个公共结点 -
栈 & 队列
-
-
09 — 用两个栈实现队列 -
30 — 包含 min 函数的栈 -
59II — 队列的最大值 -
59I — 滑动窗口的最大值 -
树
-
-
07 — 重建二叉树 -
26 — 树的子结构 -
27 — 二叉树的镜像 -
28 — 对称的二叉树 -
32I — 从上往下打印二叉树 -
32I — 从上往下打印二叉树II -
32II — 从上往下打印二叉树III -
34 — 二叉树中和为某一值的路径 -
37 — 序列化二叉树 -
54 — 二叉搜索树的第 K 大节点 -
55I — 二叉树的深度 -
55II —平衡二叉树 -
68I — 二叉搜索树的最近公共祖先 -
68II — 二叉树的最近公共祖先 -
堆
-
-
40 — 最小的 K 个数 -
41 — 数据流中的中位数 -
哈希表
-
-
03 — 数组中重复的数字 -
48 — 最长不含重复字符的子字符串 -
50 — 第一个只出现一次的字符 -
动态规划
-
-
14I — 剪绳子 -
14II — 剪绳子II -
19 — 正则表达式匹配 -
42 — 连续子数组的最大和 -
47 — 礼物的最大值 -
-
63 — 股票的最大利率 -
二分查找
-
-
01 — 旋转数组的最小数字 -
53I — 在排序数组中查找数字 I -
53II — 0 ~ n-1 中缺失的数字 -
回溯算法
-
-
38 — 字符串的排列 -
分治算法
-
-
25 — 合并两个排序的链表 -
36 — 二叉搜索树与双向链表 -
排序
-
-
45 — 把数组排成最小的树 -
位运算
-
-
15 — 二进制中 1 的个数 -
39 — 数组中出现次数超过一半的数字 -
其他题目
以上的内容我录制了一些视频发布在我的个人网站 AlgoMooc 上,点击阅读原文可以去瞅一下。
网站地址:https://www.algomooc.com
由于视频宽带、服务器支出等问题,网站的的部分视频设置了仅限会员观看,如果你有需要的话可以通过本文的留言区添加我的微信,我帮你免费开通。
祝愿每个同学都能刷透《剑指 Offer》,在秋招中找到理想的工作。
我是程序员吴师兄,一个喜欢用图片和动画讲解算法的程序员。
以上就是本文的全部内容了,如果觉得有收获,记得点赞、再看、留言、转发,我们下期再见。