
LeetCode
fuqiuai
Github: https://github.com/fuqiuai
展开
-
【LeetCode】9. 回文数
题目链接:https://leetcode-cn.com/problems/palindrome-number/description/题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例输入: 121输出: true输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个...原创 2018-10-13 15:22:31 · 775 阅读 · 0 评论 -
【LeetCode】1. 两数之和
题目链接:https://leetcode-cn.com/problems/two-sum/description/题目描述给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9...原创 2018-10-08 19:52:04 · 948 阅读 · 0 评论 -
【LeetCode】15. 三数之和
题目链接:https://leetcode-cn.com/problems/3sum/description/题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例例如, 给定数组 nums = [-1, 0, 1, 2, -1, -...原创 2018-10-08 20:02:55 · 439 阅读 · 1 评论 -
【LeetCode】16. 最接近三数之和
题目链接:https://leetcode-cn.com/problems/3sum-closest/description/题目描述给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例例如,给定数组 nums = [-1,2,1,-4], 和 targ...原创 2018-10-08 20:06:00 · 236 阅读 · 0 评论 -
【LeetCode】18. 四数之和
题目链接:https://leetcode-cn.com/problems/4sum/description/题目描述给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例给定数组...原创 2018-10-08 20:08:42 · 365 阅读 · 0 评论 -
【LeetCode】26. 删除排序数组中的重复项
题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/description/题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1给定数组 num...原创 2018-10-08 20:11:43 · 291 阅读 · 0 评论 -
【LeetCode】27. 移除元素
题目链接:https://leetcode-cn.com/problems/remove-element/description/题目描述给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的...原创 2018-10-08 20:13:14 · 249 阅读 · 1 评论 -
【LeetCode】35. 搜索插入位置
题目链接:https://leetcode-cn.com/problems/search-insert-position/description/题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例1输入: [1,3,5,6], 5输出: 2示例2输入: [1,3,5,6],...原创 2018-10-08 20:15:46 · 431 阅读 · 0 评论 -
【LeetCode】167. 两数之和 II - 输入有序数组
题目链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/description/题目描述给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 i...原创 2018-10-08 20:18:21 · 282 阅读 · 1 评论 -
【LeetCode】6. Z字形变换
题目链接:https://leetcode-cn.com/problems/zigzag-conversion/description/题目描述将字符串 “PAYPALISHIRING” 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:“PAHNAPLSIIGYIR”实现一个将字符串进行指定行数变换的函数:...原创 2018-10-15 16:07:29 · 3254 阅读 · 0 评论 -
【LeetCode】7. 反转整数
题目链接:https://leetcode-cn.com/problems/reverse-integer/description/题目描述给定一个 32 位有符号整数,将整数中的数字进行反转。示例1输入: 123输出: 321示例2输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转...原创 2018-10-15 16:09:36 · 756 阅读 · 0 评论 -
【LeetCode】8. 字符串转整数 (atoi)
题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/description/题目描述实现 atoi,将字符串转为整数。该函数首先根据需要丢弃任意多的空格字符,直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,...原创 2018-10-15 16:12:34 · 1349 阅读 · 0 评论 -
【LeetCode】12. 整数转罗马数字
题目链接:https://leetcode-cn.com/problems/integer-to-roman/description/题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C ...原创 2018-10-15 16:16:27 · 1405 阅读 · 0 评论 -
【LeetCode】13. 罗马数字转整数
题目链接:https://leetcode-cn.com/problems/integer-to-roman/description/题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C ...原创 2018-10-15 16:18:14 · 1434 阅读 · 1 评论 -
【LeetCode】14. 最长公共前缀
题目链接:https://leetcode-cn.com/problems/longest-common-prefix/description/题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例输入: [“flower”,“flow”,“flight”]输出: “fl”输入: [“dog”,“racecar”,“car”]输出: “”...原创 2018-10-15 16:20:14 · 1416 阅读 · 0 评论 -
【LeetCode】28. 实现strStr()
题目链接:https://leetcode-cn.com/problems/implement-strstr/description/题目描述实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例输入: haystack = “h...原创 2018-10-15 16:21:34 · 1351 阅读 · 0 评论 -
【LeetCode】387. 字符串中的第一个唯一字符
题目链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string/description/题目描述给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例s = “leetcode”返回 0.s = “loveleetcode”,返回 2.注意事项:您可以假定该字符串只...原创 2018-10-15 16:22:46 · 1393 阅读 · 0 评论 -
【LeetCode】459. 重复的子字符串
题目链接:https://leetcode-cn.com/problems/repeated-substring-pattern/description/题目描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000示例输入: “abab”输出: True解释: 可由子字符串 “ab” 重复两次构成。输入: “abca...原创 2018-10-15 16:24:13 · 1424 阅读 · 1 评论 -
【LeetCode】551. 学生出勤纪录 I
题目链接:[https://leetcode-cn.com/problems/student-attendance-record-i/description/]https://leetcode-cn.com/problems/student-attendance-record-i/description/)题目描述给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:‘A’ ...原创 2018-10-15 16:25:44 · 1465 阅读 · 0 评论 -
【LeetCode】686. 重复叠加字符串匹配
题目链接:https://leetcode-cn.com/problems/repeated-string-match/description/题目描述给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数,使得字符串B成为叠加后的字符串A的子串,如果不存在则返回 -1。举个例子,A = “abcd”,B = “cdabcdab”。答案为 3, 因为 A 重复叠加三遍后为 “abcd...原创 2018-10-16 12:00:30 · 3331 阅读 · 0 评论 -
【LeetCode】55. 跳跃游戏
题目链接:https://leetcode-cn.com/problems/jump-game/description/题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。...原创 2018-10-18 23:26:00 · 1384 阅读 · 0 评论 -
【LeetCode】121. 买卖股票的最佳时机
题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/description/题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例输入: [7,1,5,...原创 2018-10-18 23:27:12 · 1194 阅读 · 0 评论 -
【LeetCode】122. 买卖股票的最佳时机 II
题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/description/题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的...原创 2018-10-18 23:28:23 · 1205 阅读 · 0 评论 -
【LeetCode】134. 加油站
题目链接:https://leetcode-cn.com/problems/gas-station/description/题目描述在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发...原创 2018-10-18 23:30:37 · 1231 阅读 · 0 评论 -
【LeetCode】392. 判断子序列
题目链接:https://leetcode-cn.com/problems/is-subsequence/description/题目描述给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不...原创 2018-10-18 23:32:02 · 1220 阅读 · 0 评论 -
【LeetCode】402. 移掉K位数字
题目链接:https://leetcode-cn.com/problems/remove-k-digits/description/题目描述给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例输入: num = “1432219”, k = 3输出: “1219...原创 2018-10-18 23:33:32 · 1337 阅读 · 0 评论 -
【LeetCode】406. 根据身高重建队列
题目链接:https://leetcode-cn.com/problems/queue-reconstruction-by-height/description/题目描述假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,...原创 2018-10-18 23:35:01 · 2660 阅读 · 0 评论 -
【LeetCode】31. 下一个排列
题目链接:https://leetcode-cn.com/problems/next-permutation/description/题目描述实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。示例以下是一些例子,输入位于左侧列,其相应输出位于右...原创 2018-10-09 15:10:40 · 250 阅读 · 0 评论 -
【LeetCode】33. 搜索旋转排序数组
题目链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/description/题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 ...原创 2018-10-09 15:16:33 · 470 阅读 · 0 评论 -
【LeetCode】81. 搜索旋转排序数组 II
题目链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/description/题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true...原创 2018-10-09 15:22:44 · 3183 阅读 · 0 评论 -
【LeetCode】153. 寻找旋转排序数组中的最小值
题目链接:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/description/题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例...原创 2018-10-09 15:24:47 · 873 阅读 · 0 评论 -
【LeetCode】118. 杨辉三角
题目链接:https://leetcode-cn.com/problems/pascals-triangle/description/题目描述给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]解决方...原创 2018-10-09 15:27:27 · 438 阅读 · 1 评论 -
【LeetCode】119. 杨辉三角 II
题目链接:https://leetcode-cn.com/problems/pascals-triangle/description/题目描述给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?解决方法使用滚动数组cla...原创 2018-10-09 15:29:16 · 887 阅读 · 0 评论 -
【LeetCode】54. 螺旋矩阵
题目链接:https://leetcode-cn.com/problems/spiral-matrix/description/题目描述给定一个包含 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...原创 2018-10-09 21:16:17 · 2837 阅读 · 0 评论 -
【LeetCode】59. 螺旋矩阵 II
题目链接:https://leetcode-cn.com/problems/spiral-matrix-ii/description/题目描述给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]解决方法模拟法,模拟上下左右四个方向的路...原创 2018-10-09 21:18:04 · 956 阅读 · 1 评论 -
【LeetCode】169. 求众数
题目链接:https://leetcode-cn.com/problems/majority-element/description/题目描述给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例输入: [3,2,3]输出: 3输入: [2,2,1,1,1,2,2]输出: 2解决方...原创 2018-10-09 21:20:55 · 472 阅读 · 1 评论 -
【LeetCode】229. 求众数 II
题目链接:https://leetcode-cn.com/problems/majority-element-ii/description/题目描述给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例输入: [3,2,3]输出: [3]输入: [1,1,1,3,3,2,2,2]输出: [1...原创 2018-10-09 21:23:04 · 1367 阅读 · 0 评论 -
【LeetCode】215. 数组中的第K个最大元素
题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/description/题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例输入: [3,2,1,5,6,4] 和 k = 2输出: 5输入: [3,2,3,1,2...原创 2018-10-10 16:00:28 · 3169 阅读 · 0 评论 -
【LeetCode】414. 第三大的数
题目链接:https://leetcode-cn.com/problems/third-maximum-number/description/题目描述给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例1输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例2输入: [1, 2]输出: 2解释: 第三大的...原创 2018-10-10 16:00:21 · 1064 阅读 · 0 评论 -
【LeetCode】3. 无重复字符的最长子串
题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/description/题目描述给定一个字符串,找出不含有重复字符的最长子串的长度。示例输入: “abcabcbb”输出: 3解释: 无重复字符的最长子串是 “abc”,其长度为 3。输入: “bbbbb”输出: ...原创 2018-10-10 16:00:14 · 729 阅读 · 0 评论