BFS总结 BFS(广度优先搜索) 常用来解决最短路径问题。 第一次遍历到目的节点时,所经过的路径是最短路径。 几个要点: 只能用来求解无权图的最 2019-04-18 LeetCode 字符串 搜索 BFS 图 DFS总结 DFS(深度优先搜索) 常用来解决可达性的问题。 两个要点: 栈:用栈来保存当前节点信息,当遍历新节点返回时能够继续遍历当前节点。可以 2019-04-18 LeetCode DFS 搜索 图 矩阵 二分查找总结 二分查找有很多变种应用,关键在于以下三点 循环条件的设置 边界选取(指针更新表达式) 返回值 69. x 的平方根题目描述实现 int 2019-04-16 LeetCode 二分查找 搜索 贪心思想总结 455. 分发饼干题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃 2019-04-15 LeetCode 数组 字符串 贪心思想 Java集合 双指针总结 167. 两数之和 II - 输入有序数组题目描述给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这 2019-04-15 LeetCode 链表 数组 字符串 双指针 435-无重叠区间 题目描述给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2 2019-04-15 LeetCode 数组 Java容器 贪心思想 406-根据身高重建队列 题目描述假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h 2019-04-15 LeetCode Java容器 比较器 贪心思想 763-划分字母区间 题目描述字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的 2019-04-15 LeetCode 字符串 贪心思想 双指针 451-根据字符出现频率排序 题目描述给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1: 输入: "tree" 输出: &quo 2019-04-12 LeetCode 字符串 桶排序 排序 HashMap 347-前K个高频元素 题目描述给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2019-04-12 LeetCode 桶排序 排序 HashMap 动态数组 524-通过删除字母匹配到字典里最长单词 题目描述给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个,返回长度 2019-04-11 LeetCode 字符串 双指针 300-最长上升子序列 题目描述给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解 2019-04-03 LeetCode 数组 动态规划