随笔分类 -  LeetCode

摘要:两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: ["S 阅读全文
posted @ 2019-07-14 16:47 AimeeGao 阅读(169) 评论(0) 推荐(1)
摘要:同构字符串 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例 1: 输入: s = "egg", t = " 阅读全文
posted @ 2019-07-14 15:38 AimeeGao 阅读(395) 评论(0) 推荐(0)
摘要:快乐数 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。 示例: 输入: 19 输出: true 解释: 12 阅读全文
posted @ 2019-07-06 18:38 AimeeGao 阅读(160) 评论(0) 推荐(0)
摘要:移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 分析: 一次遍历数组中的元素,若遍历不为0,则将0 阅读全文
posted @ 2019-06-02 17:52 AimeeGao 阅读(553) 评论(0) 推荐(0)
摘要:删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并 阅读全文
posted @ 2019-06-02 17:23 AimeeGao 阅读(339) 评论(0) 推荐(0)
摘要:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何 阅读全文
posted @ 2019-06-02 16:09 AimeeGao 阅读(198) 评论(0) 推荐(0)
摘要:翻转字符串里的单词 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: " hello world! " 输出: "world! hello" 解释: 输入字符串可以在前面或者后面包含多 阅读全文
posted @ 2019-06-02 15:45 AimeeGao 阅读(130) 评论(0) 推荐(0)
摘要:旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 阅读全文
posted @ 2019-05-26 19:23 AimeeGao 阅读(111) 评论(0) 推荐(0)
摘要:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [ 阅读全文
posted @ 2019-05-14 07:29 AimeeGao 阅读(115) 评论(0) 推荐(0)
摘要:给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以 阅读全文
posted @ 2019-05-12 23:39 AimeeGao 阅读(126) 评论(0) 推荐(0)
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 阅读全文
posted @ 2019-05-09 23:19 AimeeGao 阅读(146) 评论(0) 推荐(0)
摘要:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 1。 示例 1: 输入: haystack = "hello", needle = "ll" 输 阅读全文
posted @ 2019-05-04 18:11 AimeeGao 阅读(204) 评论(0) 推荐(0)
摘要:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 分析: 根据图示规律,第一步应生成以1开始,以1结束 阅读全文
posted @ 2019-05-04 16:28 AimeeGao 阅读(155) 评论(0) 推荐(0)
摘要:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例 2: 输入: [ [1, 2, 3, 阅读全文
posted @ 2019-05-03 20:29 AimeeGao 阅读(208) 评论(0) 推荐(0)
摘要:给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 示例: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,4,7,5,3,6,8,9] 解释: 说明: 给定矩阵 阅读全文
posted @ 2019-05-03 19:16 AimeeGao 阅读(232) 评论(0) 推荐(0)
摘要:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2: 输入: 阅读全文
posted @ 2019-05-02 19:49 AimeeGao 阅读(163) 评论(0) 推荐(0)
摘要:在一个给定的数组nums中,总是存在一个最大元素 。 查找数组中的最大元素是否至少是数组中每个其他数字的两倍。 如果是,则返回最大元素的索引,否则返回 1。 示例 1: 输入: nums = [3, 6, 1, 0] 输出: 1 解释: 6是最大的整数, 对于数组中的其他整数, 6大于数组中其他元素 阅读全文
posted @ 2019-05-02 18:20 AimeeGao 阅读(307) 评论(0) 推荐(0)
摘要:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [ 1, 1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 阅读全文
posted @ 2019-04-07 18:48 AimeeGao 阅读(409) 评论(0) 推荐(0)
摘要:峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[ 1] = nums[n] = ∞。 示例 1: 输入: nums 阅读全文
posted @ 2019-03-17 18:00 AimeeGao 阅读(176) 评论(0) 推荐(0)