原文链接

剑指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入门语法

    Python入门语法 动态变量 a=3  整数 a='abc'   a="abc"    字符串 a=3.0       小数 a=true  a=false   布尔型 a=3  ...

  2. Centos 7安装Grafana 4及结合Zabbix3.2实现可视化监控图形

    上一篇介绍了如何在Centos 7环境下安装zabbix监控,本章继续介绍在Centos 7环境下安装Grafana,并结合Zabbix实现可视化监控图形! 简介: Grafana 是 Graphit ...

  3. ubuntu 如何进行文件、夹删除等操作

    rm [选项] 文件-f, --force 强力删除,不要求确认-i 每删除一个文件或进入一个子目录都要求确认-I 在删除超过三个文件或者递归删除前要求确认-r, -R 递归删除子目录-d, --di ...

  4. VmWare入门指南

    记得以前有大佬曾教过我们用win10的自带双系统运行Ubuntu,但这玩意儿好像玩起来并不简单(反正本人试了一上午也没成功),而且这个系统是和windows交互的,我们也很难调整性能参数.今天,我来教 ...

  5. centos 7 配置nginx 的yum源

    在/etc/yum.repos.d里创建nginx.repo文件: touch nginx.repo vim nginx.repo 填写如下内容后保存 [nginx] name=nginx repo ...

  6. Fpm启动机制及流程分析———详细

    FPM(FastCGI Process Manager)是PHP FastCGI运行模式的一个进程管理器,从它的定义可以看出,FPM的核心功能是进程管理,那么它用来管理什么进程呢?这个问题就需要从Fa ...

  7. laravel5.5源码笔记(一、入口应用的初始化)

    laravel的项目入口文件index.php如下 define('LARAVEL_START', microtime(true)); require __DIR__.'/../vendor/auto ...

  8. docker swarm实现java项目的发布/滚动更新/回滚/镜像管理

    使用docker swarm滚动更新java项目,部署集群,这一切的前提是使用Jenkins+maven进行项目打包,分发等功能 具体可以参考我的另外三篇文章 https://www.cnblogs. ...

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

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

  10. 折腾VIM的C++缩进

    自己是2014年的时候,开始学习VIM编辑器.记得当时把整个VIM入门手册几乎通读了一边,为其强大的功能和便捷的操作所折服. 今天再次捣鼓了以下VIM,只因为用VIM编辑C++的代码时,类中的publ ...