【xsong说算法】剑指offer一个月打卡完毕

手把手带你刷剑指Offer

前言

  该文章刷剑指offer 的方式不是按照题的顺序去刷的,而是在LeetCode 上有一个剑指offer 的学习计划,我是按照那个计划刷的。这个计划总结的比较系统,给我们分好类了,刷起来比较舒服,一个月的学习计划,大家一定要坚持刷完!

第一天 栈与队列(简单)2022/2/26

题目题解链接
剑指 Offer 09. 用两个栈实现队列【剑指Offer 09】通俗易懂的题意和题解
剑指 Offer 30. 包含min函数的栈【剑指Offer 30】两个栈解决获取最小值

第二天 链表(简单)2022/2/27

题目解题链接
剑指 Offer 06. 从尾到头打印链表【剑指Offer 06】 栈和递归巧妙解题
剑指 Offer 24. 反转链表【剑指Offer 24】从迭代到递归解题
剑指 Offer 35. 复杂链表的复制【剑指Offer 35】哈希表、拆分解题

第三天 字符串(简单) 2022/2/28

题目解题链接
剑指 Offer 05. 替换空格【剑指Offer 05】StringBuilder解题
剑指 Offer 58 - II. 左旋转字符串【剑指Offer 58 - II】字符串拆分拼接解题

第四天 查找算法(简单) 2022/3/1

题目解题链接
剑指 Offer 03. 数组中重复的数字【剑指offer 3 】详细的解题原理(赋值顺序十分重要!!!)
剑指 Offer 53 - I. 在排序数组中查找数字 I【剑指Offer 53 - I】暴力、二分解题
剑指 Offer 53 - II. 0~n-1中缺失的数字【剑指Offer 53 - II】二分查找解题

第五天 查找算法(中等)2022/3/2

题目解题链接
剑指 Offer 04. 二维数组中的查找【剑指Offer 04】暴力 + 线性查找巧妙解题
剑指 Offer 11. 旋转数组的最小数字【剑指Offer 11】二分查找,需要去重
剑指 Offer 50. 第一个只出现一次的字符【剑指Offer 50】哈希储存Boolean巧妙解题

第六天 搜索与回溯算法(简单) 2022/3/3

题目解题链接
面试题32 - I. 从上到下打印二叉树【剑指Offer 32 - I】层序遍历BFS 解题(中等?)
剑指 Offer 32 - II. 从上到下打印二叉树 II【剑指Offer 32 - II】层序遍历(for循环分层打印巧解题!!!)
剑指 Offer 32 - III. 从上到下打印二叉树 III【剑指Offer 32 - III】层序遍历+奇偶判定解题

第七天 搜索与回溯算法(简单)2022/3/4

题目解题链接
剑指 Offer 26. 树的子结构[【剑指Offer 26 】浅显易懂的递归思路(详细过程分析!!)](【剑指Offer 26 】浅显易懂的递归思路(详细过程分析!!))
剑指 Offer 27. 二叉树的镜像【剑指Offer 27】 简单递归
剑指 Offer 28. 对称的二叉树【剑指Offer 28】递归(不用求镜像,直接比较!!)

第八天 动态规划(简单) 2022/3/5

题目解题链接
剑指 Offer 10- I. 斐波那契数列【剑指Offer 10 - I】循环解题
剑指 Offer 10- II. 青蛙跳台阶问题【剑指Offer 10 - II】“青蛙 == 斐波那契”
剑指 Offer 63. 股票的最大利润【剑指Offer 63】暴力 + 动态规划

第九天 动态规划(中等) 2022/3/6

题目解题链接
剑指 Offer 42. 连续子数组的最大和【剑指Offer 42 】动态规划
剑指 Offer 47. 礼物的最大价值【剑指Offer 47】动态规划,两种思路,有得必有失!!!

第十天 动态规划(中等)2022/3/7

题目解题链接
剑指 Offer 46. 把数字翻译成字符串【剑指Offer 46】动态规划(手把手带你推动态转移方程!!!)
剑指 Offer 48. 最长不含重复字符的子【剑指Offer 48】滑动窗口解题

第十一天 双指针(简单)2022/3/8

题目解题链接
剑指 Offer 18. 删除链表的节点【剑指Offer 18】利用前驱节点和后继节点解题
剑指 Offer 22. 链表中倒数第k个节点【剑指Offer 22】判断删除长度 + 双指针解题(详细题解步骤!!!)

第十二天 双指针(简单) 2022/3/9

题目解题链接
剑指 Offer 25. 合并两个排序的链表【剑指Offer 25】循环合并(十分好用!!)
剑指 Offer 52. 两个链表的第一个公共节【剑指 Offer 52】她逃,他追,她插翅难飞

第十三天 双指针(简单) 2022/3/10

题目解题链接
剑指 Offer 21. 调整数组顺序使奇数位于【剑指Offer 21】双指针收缩区间解题
剑指 Offer 57. 和为s的两个数字【剑指Offer 57】简单的双指针解题
剑指 Offer 58 - I. 翻转单词顺序【剑指Offer 58 - I】双指针解题

第十四天 搜索与回溯算法(中等) 2022/3/11

题目解题链接
剑指 Offer 12. 矩阵中的路径【剑指Offer 12】DFS 深度优先搜索、剪枝
剑指 Offer 13. 机器人的运动范围【剑指Offer 13】深度优先遍历,很简洁(通俗易懂的解题思路!!)

第十五天 搜索与回溯算法(中等) 2022/3/12

题目解题链接
剑指 Offer 34. 二叉树中和为某一值的路径【剑指Offer 34】 回溯解题
剑指 Offer 36. 二叉搜索树与双向链表【剑指Offer 36】双向链表、中序遍历
剑指 Offer 54. 二叉搜索树的第k大节点【剑指Offer 54】二叉搜索树遍历,从大到小(右 - > 中 -> 左)

第十六天 排序(简单) 2022/3/13

题目解题链接
剑指 Offer 45. 把数组排成最小的数【剑指Offer 45】自定义排序
剑指 Offer 61. 扑克牌中的顺子【剑指Offer 61】利用牌组中的最大值减最小值小于5解题

第十七天 排序(中等) 2022/3/14

题目解题链接
剑指 Offer 40. 最小的k个数【剑指Offer 40】一文带你快速理解快排(新增快排优化!!)
剑指 Offer 41. 数据流中的中位数【剑指Offer 41】大顶堆小顶堆解题(双桶算法)

第十八天 搜索与回溯算法(中等) 2022/3/15

题目解题链接
剑指 Offer 55 - I. 二叉树的深度【剑指Offer 55 - I】递归 + 层序遍历(详细解题步骤分析!!)
剑指 Offer 55 - II. 平衡二叉树【剑指Offer 55 - II】递归解题(详细分析!!)

第十九天 搜索与回溯算法(中等) 2022/3/16

题目解题链接
剑指 Offer 64. 求1+2+…+n【剑指Offer 64】短路终止递归
剑指 Offer 68 - I. 二叉搜索树的最近公共祖【剑指Offer 68 -I】迭代 + 递归解题
剑指 Offer 68 - II. 二叉树的最近公共祖先【剑指Offer 68 - II】递归解题

第二十天 分治算法(中等) 2022/3/17

题目解题链接
剑指 Offer 07. 重建二叉树【剑指Offer 07】一步步分析递归区间(详细题解!!)
剑指 Offer 16. 数值的整数次方【剑指Offer 16】巧妙减少循环次数,避免超时!
剑指 Offer 33. 二叉搜索树的后序遍历序列【剑指Offer 33】分治+递归

第二十一天 位运算(简单) 2022/3/18

题目解题链接
剑指 Offer 15. 二进制中1的个数【剑指Offer 15】二进制基本运算(汉明重量)
剑指 Offer 65. 不用加减乘除做加法【剑指Offer 65】位运算解题

第二十二天 位运算(中等) 2022/3/19

题目解题链接
剑指 Offer 56 - I. 数组中数字出现的次数【剑指Offer 56 - I】位运算(通俗易懂的题解!!)
剑指 Offer 56 - II. 数组中数字出现的次数【剑指Offer 56 - II】数组中所有数的二进制位之和与3 取模

第二十三天 数学(简单) 2022/3/20

题目解题链接
剑指 Offer 39. 数组中出现次数超过一半的【剑指Offer 39】 投票法真绝了!
剑指 Offer 66. 构建乘积数组【剑指Offer 66】先左后右记录乘积

第二十四天 数学(中等) 2022/3/21

题目解题链接
剑指 Offer 14- I. 剪绳子【剑指Offer 14 -I】动态规划很好理解
剑指 Offer 57 - II. 和为s的连续正数序列【剑指Offer 57 - II】滑动窗口解题(清晰图解)
剑指 Offer 62. 圆圈中最后剩下的数字换个角度举例解决约瑟夫环

第二十五天 模拟(中等) 2022/3/22

题目解题链接
剑指 Offer 29. 顺时针打印矩阵【剑指Offer 29】顺时针循环打印(详细代码注释)
剑指 Offer 31. 栈的压入、弹出序列【剑指Offer 31】模拟法解题

第二十六天 字符串(中等) 2022/3/23

题目解题链接
剑指 Offer 20. 表示数值的字符串【剑指Offer 20】多条件判断比较好理解
剑指 Offer 67. 把字符串转换成整数【剑指Offer 67】详细代码注释,以及难点分析

第二十七天 栈与队列(困难) 2022/3/24

题目解题链接
剑指 Offer 59 - I. 滑动窗口的最大值【剑指Offer 59 - I】暴力法 + 双向队列
剑指 Offer 59 - II. 队列的最大值【剑指Offer 59 - II】清晰图解,看不懂你打我!!!

第二十八天 搜索与回溯算法(困难) 2022/3/25

题目解题链接
剑指 Offer 37. 序列化二叉树【剑指Offer 37】DFS巧妙解题
剑指 Offer 38. 字符串的排列参考官方题解

第二十九天 动态规划(困难) 2022/3/26

题目解题链接
剑指 Offer 19. 正则表达式匹配参考官方题解
剑指 Offer 49. 丑数参考官方题解
剑指 Offer 60. n个骰子的点数参考官方题解

第三十天 分治算法(困难) 2022/3/27

题目解题链接
剑指 Offer 17. 打印从1到最大的n位数参考官方题解
剑指 Offer 51. 数组中的逆序对参考官方视频题解

第三十一天 数学(困难) 2022/3/28

题目解题链接
剑指 Offer 14- II. 剪绳子 II参考官方题解
剑指 Offer 43. 1~n 整数中 1 出现的次数参考官方题解
剑指 Offer 44. 数字序列中某一位的数字参考官方题解

心得体会 & 未来展望

  剑指offer后面我水了几天,我准备在二刷的时候补充题解,也算是给自己留个二刷的念头,今天也算是老老实实打卡结束了,也拿到了剑指offer的勋章。

image-20220328094625905

  打卡了一个月,这一个月自己不仅在算法上面成长了不少。而且也写了不少我自认为比较优质的题解,自己在写某些题解的过程中也花了不少时间去画图。有些题解也有不少阅读量,截止到目前,我的力扣阅读总数到了 37K。虽然不多,但对我来说挺有成就感的。当然也有一些水文,原因是有的时候某个题理解的并不透彻,不仅写不出来好的文章,反倒容易误导大家,我就索性给了一些代码和注释,没有过多去说明。并且很多题的题解已经很棒了,我感觉写出来并没有什么比较新颖和特别的地方,所以后面那几个暂时都还没去写题解。

  刷题过程中也有比较有意思的经历,有个同学问我算法,我也是没想到,可能他看到了我那个题解,有点不懂。没想到我也能在算法方面帮到别人,还是挺开心的。

image-20220328100947391

  剑指offer刷了一遍下来,我个人觉得他的覆盖面是非常广的,并且很多“简单题”他并不简单,里面的题都是值得我们细细去品味的,当然对我们面试也有很大的帮助。

  目前忙于春招找实习,所以不打算最近就开始二刷,我想先放一放。专心复习八股查漏补缺。下次二刷的时候我会把题解中存在的不足的地方再补充补充,这样自己复习起来也快的多。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

blog_xsong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值