专栏名称: 吴师兄学算法
和程序员小吴一起从初学者的角度学习算法,以动画的形式呈现解题的思路。每周四篇原创文章,期待你的鉴赏!
目录
相关文章推荐
51好读  ›  专栏  ›  吴师兄学算法

挑战一天(12h)刷完《剑指offer》67题

吴师兄学算法  · 公众号  ·  · 2021-05-30 15:10

正文

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

大家周末好,我是 爱上 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 中缺失的数字
  • 回溯算法







请到「今天看啥」查看全文