提前说明,挑战的人不是我

大家周末好,我是爱上 B 站的小吴,最近一段时间我在网站 AlgoMooc 录制剑指 Offer 的视频,同时上传了一部分到 B 站,基于推荐算法,B 站疯狂的给我推送如何刷 LeetCode、如何学算法的相关内容,再也无法愉快的在首页看到华农兄弟、小姐姐们的视频了。

于是,这两天在首页看到一个极度「嚣张」的标题:挑战一天(12h)刷完《剑指offer》67题

挑战一天(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》,在秋招中找到理想的工作。


我是程序员吴师兄,一个喜欢用图片和动画讲解算法的程序员。

以上就是本文的全部内容了,如果觉得有收获,记得点赞、再看、留言、转发,我们下期再见。