剑指Offer66题之每日6题 - 总结、目录

剑指Offer每日6题系列终于在今天全部完成了,从2017年12月27日到2018年2月27日,历时两个月的写作,其中绝大部分的时间不是花在做题上,而是花在写作上,这个系列不适合大神,大牛,这个系列是我专门为那些初识算法,数据结构的同学和对基础算法,基本数据结构不熟练的同学而写的。

里面所有的博文,我尽量避开生僻的一些概念,尽量用生活中的语言和例子来解释一些原理,因此在学术上可能不太严谨,但是,管他呢,你们能理解就好;

绝大部分的题目我都用了两种以上的方法,有的甚至5到6个方法去解决,尝试从不同的角度去解决一个问题,这个能力是我们大家都要去学习的,当然了,我也不是神,并不能想到所有的这些方法,也很感谢牛客网讨论区中的一些同学,有些题目他们提供了很精妙的思路,更感谢牛客网能为这些题目提供后台数据,使得我们的代码可以验证是否正确;

当然了,我的这些博文中的方法肯定不是完全全面的,肯定还有一些好的方法我还没有了解到,如果大家有更好的点子,可以在对应博客中的评论区留言。

至于为什么想做这个系列,原因就是觉得网上的很多资料(包括博客)对新手不是很友好,因为自己也是从新手过来的,所以很能理解新手在看到”很明显可以看出这个题用二分”这类句子的绝望(“哪里很明显了,我怎么看不出”),因此,我较详细地把“很明显”这类字眼展开了来讲,所以如果厉害的同学看到我的博文会觉得我说的很啰嗦,但是对于新手而言,说得透彻点终归是没有坏处的。

互联网公司的招聘,比较看重算法与数据结构,因此掌握这些东西可以让你在笔试、面试中发挥地更好,机会永远是留给那些有准备的人,我相信,如果你踏踏实实刷完这66道题,并且把每一道题的两种解法都理解透并熟练写出,那么你至少能在笔试、面试中超过50%的人。而且,有良好的算法、数据结构基础对自己以后的提升也是有着莫大的帮助。这也是国际,国内的一线互联网公司为什么如此注重ACM比赛经验,比赛获奖的原因。

如果你对博文中的一些地方不是很理解,或者觉得有错,可以留言。我会在不忙的时候解答,因为我也是和你们一样,在不断接触新的知识。


下面的这个目录既可以帮助你找到每个题目的提交的地方,也可以帮助你更快地找到每道题目的解答。

同时,可以关注下剑指Offer66题这个专栏。所有的博文按顺序已经陈列在其中了。

  • 剑指Offer66题之每日6题 - 第一天

    • 第一题:二维数组中的查找
    • 第二题:替换空格
    • 第三题:从尾到头打印链表
    • 第四题:重建二叉树
    • 第五题:用两个栈实现队列
    • 第六题:旋转数组的最小数字
  • 剑指Offer66题之每日6题 - 第二天

    • 第一题:斐波那契数列
    • 第二题:跳台阶
    • 第三题:变态跳台阶
    • 第四题:矩形覆盖
    • 第五题:二进制中1的个数
    • 第六题:数值的整数次方
  • 剑指Offer66题之每日6题 - 第三天

    • 第一题:调整数组顺序使奇数位于偶数前面
    • 第二题:链表中倒数第k个结点
    • 第三题:反转链表
    • 第四题:合并两个排序的链表
    • 第五题:树的子结构
    • 第六题:二叉树的镜像
  • 剑指Offer66题之每日6题 - 第四天

    • 第一题:顺时针打印矩阵
    • 第二题:包含min函数的栈
    • 第三题:栈的压入、弹出序列
    • 第四题:从上往下打印二叉树
    • 第五题:二叉搜索树的后序遍历序列
    • 第六题:二叉树中和为某一值的路径
  • 剑指Offer66题之每日6题 - 第五天

    • 第一题:复杂链表的复制
    • 第二题:二叉搜索树与双向链表
    • 第三题:字符串的排列
    • 第四题:数组中出现次数超过一半的数字
    • 第五题:最小的K个数
    • 第六题:连续子数组的最大和
  • 剑指Offer66题之每日6题 - 第六天

    • 第一题:整数中1出现的次数
    • 第二题:把数组排成最小的数
    • 第三题:丑数
    • 第四题:第一个只出现一次的字符位置
    • 第五题:数组中的逆序对
    • 第六题:两个链表的第一个公共结点
  • 剑指Offer66题之每日6题 - 第七天

    • 第一题:数字在排序数组中出现的次数
    • 第二题:二叉树的深度
    • 第三题:平衡二叉树
    • 第四题:数组中只出现一次的数字
    • 第五题:和为S的连续正数序列
    • 第六题:和为S的两个数字
  • 剑指Offer66题之每日6题 - 第八天

    • 第一题:左旋转字符串
    • 第二题:翻转单词顺序列
    • 第三题:扑克牌顺子
    • 第四题:孩子们的游戏(圆圈中最后剩下的数)
    • 第五题:求1+2+3+…+n
    • 第六题:不用加减乘除做加法
  • 剑指Offer66题之每日6题 - 第九天

    • 第一题:把字符串转换成整数
    • 第二题:数组中重复的数字
    • 第三题:构建乘积数组
    • 第四题:正则表达式匹配
    • 第五题:表示数值的字符串
    • 第六题:字符流中第一个不重复的字符
  • 剑指Offer66题之每日6题 - 第十天

    • 第一题:链表中环的入口结点
    • 第二题:删除链表中重复的结点
    • 第三题:二叉树的下一个结点
    • 第四题:对称的二叉树
    • 第五题:按之字形顺序打印二叉树
    • 第六题:把二叉树打印成多行
  • 剑指Offer66题之每日6题 - 最后一天

    • 第一题:序列化二叉树
    • 第二题:二叉搜索树的第k个结点
    • 第三题:数据流中的中位数
    • 第四题:滑动窗口的最大值
    • 第五题:矩阵中的路径
    • 第六题:机器人的运动范围

好好准备吧

你可能感兴趣的:(算法,笔试面试题,剑指Offer每日6题,笔试面试题)