在这张卡片中,我们将介绍另一种数据结构 —— 链表。 与数组相似,链表也是一种线性数据结构。这里有一个例子: 正如你所看到的,链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字
whisper 发布于 2019年09月14日 02时 | 分类: 设计模式与算法 | 标签: 设计模式与算法 / leetcode
正如我们在概览中提到的那样,链表是一种线性数据结构,它通过引用字段将所有分离的元素链接在一起。有两种常用的链表:单链表和双链表。 本章节中,我们将从单链表开始,并帮助您: 了解单链表的结构; 在单链表
whisper 发布于 2019年09月14日 05时 | 分类: 设计模式与算法 | 标签: 设计模式与算法 / leetcode
我们在另一张卡片中引入了双指针技巧:数据结构简介 - 数组和字符串. 让我们简要回顾一下这种技巧。 我们提到了两种使用双指针技巧的情景: 两个指针从不同位置出发:一个从始端开始,另一个从末端开始; 两
在上一章中,我们介绍了如何在链表中使用双指针技巧。本章节中,我们将从如何反转单链表开始并进一步探索更多经典问题。 反转链表 让我们从一个经典问题开始: 反转一个单链表。 一种解决方案是按原始顺序迭代结
完成前面的章节后,你至少应该熟悉了单链表。 本章节中,我们将介绍另一种链表:双链表。与单链表不同的是,双链表的每个结点中都含有两个引用字段。 我们将在本章中介绍更多详细信息,并帮助你了解双链表中的基本
whisper 发布于 2019年09月14日 22时 | 分类: 设计模式与算法 | 标签: 设计模式与算法 / leetcode
在前面的章节中,我们已经学习了许多关于单链表和双链表的知识。 本章节中,我们将总结此前学到的知识,并对链表和其他数据结构进行简短比较。 我们还提供了一些习题,供你练习更多关于链表的内容。 小结 - 链
whisper 发布于 2019年09月15日 00时 | 分类: 设计模式与算法 | 标签: 设计模式与算法 / leetcode
一些题目用滑动窗口方法解题,可以将时间复杂度控制在 O(n) 级别,最重要的是定义好滑动窗口,明确它要表达的意思,当然边界和初始值非常重要。 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正
whisper 发布于 2019年08月01日 05时 | 分类: 设计模式与算法 | 标签: 设计模式与算法 / leetcode
很久以前在leetcode上做过一些题目,对我这种没真正学过算法的人来说还是有一定难度的,所有就做了一些基础的题目,下面就把我做的基础的探索栏目下的数组类算法跟大家分享一下。其实主要是给自己一个备忘的
whisper 发布于 2019年08月01日 01时 | 分类: 设计模式与算法 | 标签: 设计模式与算法 / leetcode
有一些 LeetCode 题目,我们可以采用对撞指针进行求解:指针 i 和 j 分别指向数组的第一个元素和最后一个元素,然后指针 i 不断向前, 指针 j 不断递减,知道 i = j(当然具体的逻辑操
典型的排序算法思想、二分查找思想在解 LeetCode 题目时很有用。 颜色分类 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝
whisper 发布于 2019年08月01日 03时 | 分类: 设计模式与算法 | 标签: 设计模式与算法 / leetcode
做数组类算法问题的时候,我们常常需要定义一个变量,明确该变量的定义,并且在书写整个逻辑的时候,要不停的维护住这个变量的意义。也特别需要注意初始值和边界的问题。 移动零 给定一个数组 nums,编写一个
登陆 注册