摘要: 1. 具体题目 现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]。给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习? 示例 1: 输入: 2, [[1,0] 阅读全文
posted @ 2019-12-03 15:12 les111ley 阅读(285) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个 阅读全文
posted @ 2019-12-02 22:21 les111ley 阅读(403) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。 示例 1: 输入: "2-1-1" 输出: [0, 2] 解释: ((2-1)-1) = 0;(2-(1-1)) = 2 阅读全文
posted @ 2019-12-02 21:54 les111ley 阅读(211) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1, 阅读全文
posted @ 2019-12-01 11:00 les111ley 阅读(276) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。 2.思路分析 桶排序,思路同 lee 阅读全文
posted @ 2019-12-01 10:52 les111ley 阅读(263) 评论(0) 推荐(0)
摘要: 1. 具体题目 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 : 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 2. 思路分析 方法一:最直接的方法是直接调用 Java 的排序方法 Arrays. 阅读全文
posted @ 2019-11-29 18:36 les111ley 阅读(341) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 2. 思路分析 首先需要统计数组中各不同元素的出现频率, 阅读全文
posted @ 2019-11-29 18:19 les111ley 阅读(243) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个,返回长度最长且字典顺序最小的字符串。如果答案不存在,则返回空字符串。 示例 1: 输入: s = "abpcplea", d = ["ale","apple", 阅读全文
posted @ 2019-11-28 09:08 les111ley 阅读(179) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 num 阅读全文
posted @ 2019-11-26 21:23 les111ley 阅读(242) 评论(0) 推荐(0)
摘要: 1. 具体题目 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: True 解释: 你可以删除c字符。 2. 思路分析 若单纯判断一个回文字符串,只需要设置前后指针同时向中间逼近,比较前后 阅读全文
posted @ 2019-11-26 21:11 les111ley 阅读(177) 评论(0) 推荐(0)