This is Sheffield!

Code here!


  • 首页

  • 归档

  • 标签

  • 分类

  • 关于

[LeetCode] Two Pointers

发表于 2019-03-11 | 分类于 CS , LeetCode

本篇总结了双指针算法的应用。

阅读全文 »

[LC215] Kth Largest Element in an Array / 分治 / 堆排序

发表于 2019-03-08 | 分类于 CS , LeetCode

在数组中找到第 K 大元素时一个典型题。类似的还有找到前 K 大元素。这道题的多种解法涵盖了堆排序思想和快排思想。

阅读全文 »

[LC279] Perfect Squares / 动态规划和BFS

发表于 2019-03-05 | 分类于 CS , LeetCode

第一次做这道题的时候根据标签🏷很容易想到了BFS的解法,而第二次看的时候却想不起来了。将动态规划应用于这道题的时候,使用的小技巧「看似遍历但实则复杂度并不大」。

阅读全文 »

[LC494] Target Sum / 从经典递归到动态规划

发表于 2019-03-04 | 分类于 CS , LeetCode

Target Sum 是在练习递归算法(回溯算法)时遇到的经典题目。从无优化的回溯到加上备忘录的回溯,再到动态规划算法,其中步步优化的思想至关重要。

阅读全文 »

[LeetCode] Stack

发表于 2019-03-02 | 分类于 CS , LeetCode

本篇总结了栈的使用,关键是能有使用栈的意识,以及确定栈中保存的是什么元素。栈的使用也与许多树操作有关。

阅读全文 »

[LeetCode] Traversal

发表于 2018-12-10 | 分类于 CS , LeetCode

深度优先遍历(DFS)和广度优先遍历(BFS)是在树和图算法中至关重要。两者虽同样作为遍历算法,也有不同的应用场景。DFS 与栈密切相关;BFS 与队列密切相关。

阅读全文 »

[LeetCode] Recursion

发表于 2018-12-02 | 分类于 CS , LeetCode

本篇总结了 LeetCode 中用递归方法解决的问题,大多数这样的题都对应一种(非递归)迭代方式。最典型的是中序遍历序列问题。

阅读全文 »

[LC60/62] 用优化的方法替代回溯算法

发表于 2018-07-27 | 分类于 CS , LeetCode

回溯(Back Tracking)算法相当于使用 BFS 将所有可能的情况遍历一遍,由于使用了递归栈,效率不高。在有些问题中,可以用更优化的方法解决而不需要递归地遍历所有情形。

阅读全文 »

[LC56] Merge Intervals 图连通性 / 排序

发表于 2018-07-12 | 分类于 CS , LeetCode

将给定的一组区间表示合并起来——将部分重叠或端点重合的区间合并起来。

阅读全文 »

[LC45/55] Jump Game / 动态规划 / 贪心 / BFS

发表于 2018-06-13 | 分类于 CS , LeetCode

给定一个数组,每个元素表示该位置可以跳跃的最远长度。从数组的第一个元素开始起跳,确定跳到最后一个元素所需的最小步数/确定能否跳到最后一个元素。

阅读全文 »
123

Sheffield

Sheffield Ge 的技术博客

27 日志
5 分类
16 标签
© 2019 Sheffield
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4