随笔分类 -  LeetCode

摘要:双指针 双指针可分为三类: 左右指针 快慢指针 滑动窗口 其中,滑动窗口 已单独写了一篇随笔,可跳转查看。 在快慢指针中,又有一类典型算法,叫 Floyd's cycle-finding algorithm,其又名 Floyd's Hare and Tortoise Algorithm。 在这里,我 阅读全文
posted @ 2020-11-26 10:13 浪荡&不羁 阅读(206) 评论(0) 推荐(1)
摘要:Floyd's cycle-finding algorithm 引用维基百科的定义:Floyd's cycle-finding algorithm is a pointer algorithm that uses only two pointers, which move through the s 阅读全文
posted @ 2020-11-25 19:17 浪荡&不羁 阅读(311) 评论(0) 推荐(0)
摘要:Sliding Window 滑动窗口就是双指针的一种技巧,运用的就是双指针,但是仅能维持一个指针移动,另一个指针呆着不动。 当一个指针维持不动,另一个指针移动时,两个指针之间的部分就是一个窗口,这个窗口是不断的扩大和缩小的,直到末尾或找到结果。 1. 思路 简单思路就是: right 指针不断向右 阅读全文
posted @ 2020-11-22 15:26 浪荡&不羁 阅读(184) 评论(0) 推荐(0)
摘要:前缀和技巧 前缀和技巧 主要用于解决数组的子数组问题。 使用前缀和的经典题目: 560.Subarray Sum Equals K 930.Binary Subarrays With Sum 1. 什么是前缀和 这里以 LeetCode 的一道题目,560. Subarray Sum Equals 阅读全文
posted @ 2020-11-21 21:14 浪荡&不羁 阅读(189) 评论(0) 推荐(0)
摘要:Trie Trie 是一种特殊的数据结构,与二叉树类似,只是 Trie 不限子孩子数量。 Trie 又名字典树,单词查找树,前缀树。我们可以使用 Trie 来构造工作中使用到的 红点系统 。 下面以 LeetCode 的第208题 Implement Trie (Prefix Tree) 来讨论实现 阅读全文
posted @ 2020-11-17 14:13 浪荡&不羁 阅读(156) 评论(0) 推荐(0)
摘要:单调栈,如名字一样,栈内的元素是单调递增或者单调递减的。 接下来我们用 LeetCode 的题目 155. Min Stack 来说明这种特殊的数据结构,题目说明如下: Design a stack that supports push, pop, top, and retrieving the m 阅读全文
posted @ 2020-11-16 11:03 浪荡&不羁 阅读(86) 评论(0) 推荐(0)