原文链接

剑指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. 【星云测试】开发者测试(3)-采用精准测试工具对springcloud微服务应用进行穿透测试

    1.微服务简介 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接 ...

  2. FMDB数据库使用

    创建数据库路径 NSString* docsdir = [NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainM ...

  3. c#将List转换成DataTable

    前面写了一篇List<T>转换成DataTable,这里主要是完善了前面的代码. 同样使用了emit,我把代码整理后上传了git. 另外增加了特性的设计. 设计了三类特性ColumnTyp ...

  4. $(document).ready(function(){})与window.load

    $(document).ready(function(){ //to do something}) 是当文档全部加载完全的时候触发,包括img也加载完成但是相关的文件没有下载下来,能同时编写多个 wi ...

  5. JS基础——事件操作总结

    通用事件绑定   function bindEvent(elem,type,fn) { elem.addEventListener(type,fn); } let a =document.getEle ...

  6. ORACLE->SQL*Loader[20180712]

    https://docs.oracle.com/cd/B28359_01/server.111/b28319/ldr_concepts.htm#g1013706       SQL*Loader将外部 ...

  7. (1-1)入门—最简单的树(使用json数据)

    1.<!DOCTYPE html>是必须的. 2.zTree 的容器 className 别忘了设置为 "ztree". 使用ztree创建树,首先要引用ztree相关 ...

  8. 微信小程序页面3秒后自动跳转

    setTimeout() 是属于 window 的方法,该方法用于在指定的毫秒数后调用函数或计算表达式. 语法格式可以是以下两种:   setTimeout(function () { // wx.r ...

  9. 使用PHP生成二维码支持自定义logo

    require_once 'phpqrcode/phpqrcode.php'; //引入类库 $text = "https://www.baidu.com/";//要生成二维码的文 ...

  10. ubuntu apt源配置

    前言:看见Ubuntu新出了18.04版本感觉不错,装一个玩玩,虽然有很多教程可以参考,但我也给出一个不是很一样的方案吧,尽量解释的详细一点. 为了下载更方便,速度更快,我们往往在使用Linux系列系 ...