LeetCode 问题解析

本文档主要是 LeetCode 的问题解析. 在阅读本文档前最好先阅读 十年修得程序员 , 保持一个好心态,不要急于一时。

LeetCode 提供了丰富实用的题目,但是,与此同时平台本身也存在一定的局限,有些问题的 test case 并不能完全覆盖到不同 solution 。

在开始做题之前,一定要先熟悉解决此类型题目的基本技巧。我不认为这是 cheating 或者 spoiler 。 举个栗子,在 Merge K Sorted Lists 这个问题中,如果不知道如何 merge two lists,那么解法 不会简洁到哪里去。此外要做到 bug free ,那么基本的代码片段必须要能够手到擒来。还是 Merge K Sorted Lists , 如果基本的 Merge Lists 的代码片段能够熟练的掌握了,做到手写或者在 google doc 之类的平台完全不会出错, 在解决更难问题的时候必然会减少出错的几率。所以在解题结束之后,要注意总结寻找共性。再举个栗子:Merge Two Sorted Arrays 和 Merge Two Sorted List 代码思路基本相同,都是套用了 Merge Sort 的方法,那么就一定要保证 Merge Sort 的代码片段 (或者称之为模板)能够 bug free。我自己的经验是:总结的代码片段借用艾宾浩斯遗忘曲线在一周之内必须有4次重复,这样在面对难题的 时候才能够有信心。

第一部分 Java 编程基础

Java 的类库是 Java 语言提供的已经实现的标准类的集合,是 Java 编程的 API(Application Program Interface),了解类库的结构可以在面试的时候节省大量的编程时间,而且能够使编写的程序更简单更实用。

第二部分 链表问题

LinkedList 相关问题分析

Table Of Contents

Related Topics

This Page