太长不看,或者直接跳转的传送门:https://mianbaoduo.com/o/bread/aZWckp8=




本人基于自己的经验写了这本电子书(PDF),并经过了几版的修改和完善,很可能是目前网上最全面、最丰富的 Java 版《剑指 OFFER 》题解了。

之所以选择《剑指 OFFER》为基础,是因为其中的题目、题型、思路都是最基础的算法,在面试过程中也是最常见的考题和题型。

适用对象

  • 刚开始学习算法的学习者。
  • 初、中级开发者。
  • 正在找工作而复习算法的求职者。

文件内容

这是一本《剑指 OFFER》的题解,但和原书的区别是,所有题目都是用 Java 语言写的。

这本题解的主要内容是《剑指 OFFER》书中的题目的 Java 语言解法,并针对某些题目做了大量的相关性算法的扩展,这些扩展是我本人前期在学习算法以及做题过程中碰到的一些坑和自己的一些思考及总结。

题解中的所有代码均是笔者自己写了一遍的。有些思路是原书中提供的,有些是需要从 C/C++ 的解法向 Java 语言转变的,还有一些是笔者扩展的。

本付费内容是一本排版优雅的 90 页的电子书。内容主要为:

  • 所有原书中题目的一种或多种 Java 解答。
  • 和题目相关的扩展算法的思路或解答。

放两张大纲图:

为什么做这个

对于码农而言,面试手撕算法再正常不过了,很多公司的算法题目来源于《剑指OFFER》,因为其中包括了很多基本的、常用的算法,足以考查候选人的基础算法能力。

作为以 Java 语言为主的码农,有些可能不太看得懂 C/C 的代码。并且由于语言特性之间的差异,某些地方的写法差别很大,直接将 C/C 代码转换为 Java 会出现问题或解法错误。因此,对于占比高得多的 Java 程序员,对 Java 的解法是有需求的。

除此之外,目前网上的很多解答充斥着各种问题,比如:

1)很多博客的解答来源于复制粘贴,没有经过验证,漏洞百出;甚至一些并没有理解代码,注释都是错误的。

2)一些分析和解答零散不全面,经常需要花费很多时间去寻找更合适的解法。

3)充斥着大量无效的解答,诱导各种积分下载等等。

4)很多过来面试的程序员并没有理解到关键点,思维不够发散,稍微改变下题目,就无从下手。

……

基于以上出现的一系列问题,笔者就想着把自己的解答、经验和思考梳理总结出来,并提供一些不同条件下的扩展,希望帮助到初中级程序员真正理解题目,提升算法,从容应对面试中的算法。

关于收费

我个人觉得,收费是对自己时间付出的一种回报,也是一种认可,而且越是优质的东西越应该收费。不出意外的话,这本题解是到目前为止最全面、扩展最多的 Java 算法题解,基于《剑指 OFFER》,但内容却远多于原书。

另外,你的付费将为你节省下大量的时间,一顿早餐的费用换来的时间和知识是无价的。同时我也相信你的付出会让你更加珍惜这本题解,更加努力去吸收。哪怕面试中碰到一题,都物有所值。