原文链接

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

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

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

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

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

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

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


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

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

剑指Offer66题的总结、目录的更多相关文章

  1. 机器人的运动范围 剑指offer66题

    include "stdafx.h" #include<vector> #include<algorithm> #include<string> ...

  2. 剑指offer35题:第一个只出现一次的字符+剑指offer55题:字符流中第一个不重复的字符+剑指offer51题:数组中重复的数字

    在看剑指offer的时候,感觉这三个题目很像,都是用哈希表可以解决,所以把这三个题整理出来,以供复习. 剑指offer35题:第一个只出现一次的字符 题目描述:在字符串中找出第一个只出现一次的字符.如 ...

  3. 学会从后往前遍历,例 [LeetCode] Pascal's Triangle II,剑指Offer 题4

    当我们需要改变数组的值时,如果从前往后遍历,有时会带来很多麻烦,比如需要插入值,导致数组平移,或者新的值覆盖了旧有的值,但旧有的值依然需要被使用.这种情况下,有时仅仅改变一下数组的遍历方向,就会避免这 ...

  4. 剑指offer--7题

    *题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变. *句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. *例如输入“I am a student.”,则输出“st ...

  5. 剑指offer20题表示数值的字符串:这题实在是太优雅了

    目录 前言 一.憨憨初解 1.思路 2.代码 3.战绩 4.反思 二.看懂再解 1.思路 2.代码 3.C++版战绩 总结 前言 题目来源:https://leetcode.cn/problems/b ...

  6. 剑指offer--21题

    #include "stdafx.h" #include<iostream>using namespace std; void LeftRotateString(cha ...

  7. 剑指offer--3题

    题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2, 3, ...

  8. 剑指offer--13题

    #include "stdafx.h" #include <iostream> using namespace std; void FirstNoRepeatCh(co ...

  9. 剑指offer-17题

    题目要求:输入一个表示整数的字符串,把该字符串转换成整数并输出.例如输入字符串"345",则输出整数345. 分析:这道题能够很好地反应出程序员的思维和编程习惯. 的确,自己编写的 ...

随机推荐

  1. Python %操作符 字符串格式化

    %操作符(字符串格式化,string formatting),说明如下: %[(name)][flags][width].[precision]typecode (name)为命名 flags可以有+ ...

  2. paxos协议(1)-朴素paxos

    前言 学习paxos协议,最困惑我的两点是: 1. 朴素paxos是怎么样的?这部分主要是原理: 2. paxos协议是怎么运用到分布式系统解决问题的.因为很多博客的开篇说paxos协议可以运用在很多 ...

  3. JavaScript变量类型检测总结

    JavaScript中的变量类型: 基本类型值:Undefined,Null,Boolean,Number和String. 按值访问(可直接操作保存在变量中的变量值): 复制规则:当复制基本类型值时: ...

  4. Django DTL 加减乘除求余

    django模板只提供了加法的filter,没有提供专门的乘法和除法运算: django提供了widthratio的tag用来计算比率,可以变相用于乘法和除法的计算. 加法 {{value|add:1 ...

  5. Java与数据库学习总结

    1.连接数据库 package utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Re ...

  6. table的td、th的一些样式问题(宽度,边框,滚动条)

    1. 给table加边框 table{ border-collapse: collapse; /*表格的边框合并为一个单一的边框*/ } table, table tr th, table tr td ...

  7. sqli-labs (less-8-less-10)

    盲注需要掌握一些MySQL的相关函数:length(str):返回str字符串的长度.substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回.注意这里的pos ...

  8. Linux入门进阶第三天——软件安装管理(下)

    一.yum在线安装 之前的rpm包各种依赖性太强!安装复杂,yum的好处就来了: // yum 在redhat是付费服务 1.yum源文件 先进入到yum目录: 我们打开默认生效的Base包 2.光盘 ...

  9. 虚拟机与Linux

    VirtualBox与Ubuntu的下载 对于VirtualBox的下载,网络上的资源非常之多,并且软件也并不是很大,所以并没有耗费很多时间.但是对于Ubuntu的下载来说,一个操作系统,正版的下载肯 ...

  10. BZOJ1208_宠物收养所_KEY

    题目传送门 平衡树的题. 因为题目给出条件(其实自己也知道):同一时间呆在收养所中的,要么全是宠物,要么全是领养者,这些宠物和领养者的个数不会超过10000个. 所以只要维护一颗平衡树,它的里面要不全 ...