LeetCode
Aurora_ym
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题之401二进制手表
题目:二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,上面的二进制手表读取 “3:25”。给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。案例:输入: n = 1返回: ["1:00", "2:00", "4:00", "8:00",...转载 2018-08-22 14:52:57 · 396 阅读 · 0 评论 -
LeetCode刷题之283Python移动零
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。参考解答:https://blog.csdn.net/qq_34364995/article/details/80699759思...转载 2018-08-23 10:19:57 · 215 阅读 · 0 评论 -
LeetCode刷题之278Python第一个错误的版本
题目:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单...转载 2018-08-23 10:19:51 · 198 阅读 · 0 评论 -
LeetCode刷题之268Python缺失数字
题目:给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?我的解答:思路是,把数组排序后,返回第一个与自然数组元素不...原创 2018-08-23 10:19:41 · 275 阅读 · 0 评论 -
LeetCode刷题之263Python丑数
题目:编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3示例 2:输入: 8输出: true解释: 8 = 2 × 2 × 2示例 3:输入: 14输出: false 解释: 14不是丑数,因为它包含了另外一个质因数 7。说明:1 是丑数。 ...原创 2018-08-23 10:19:35 · 391 阅读 · 0 评论 -
LeetCode刷题之258Python各位相加
题目:给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?参考解答:https://blog.csdn.net/qq_34364995/ar...转载 2018-08-23 10:19:29 · 360 阅读 · 0 评论 -
LeetCode刷题之242Python有效字母异位词
题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整...原创 2018-08-21 09:29:11 · 208 阅读 · 0 评论 -
LeetCode刷题之231Python 2的幂
题目:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false我的解答:思路是一直除以2,看余数。class Solution(object): def isPowerOfTw...原创 2018-08-21 09:29:04 · 304 阅读 · 0 评论 -
LeetCode刷题之219Python存在重复元素II
题目:给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums =...转载 2018-08-23 10:19:22 · 357 阅读 · 0 评论 -
LeetCode刷题之217Python存在重复元素
题目:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true我的解答:联想...转载 2018-08-23 10:19:17 · 286 阅读 · 0 评论 -
LeetCode刷题之205Python重构字符串
题目:给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "b...转载 2018-08-21 09:29:57 · 857 阅读 · 0 评论 -
LeetCode刷题之204Python计数质数
题目:统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。参考解答:https://blog.csdn.net/qq_34364995/article/details/80640432厄拉多塞筛法西元前250年,希腊数学家厄拉多塞(Eeatosthese)想到...转载 2018-08-21 09:29:51 · 263 阅读 · 0 评论 -
LeetCode刷题之202Python快乐数
题目:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例: 参考解答: https://blog.csdn.net/qq_34364995/article/detai...转载 2018-08-21 09:29:35 · 380 阅读 · 0 评论 -
LeetCode刷题之198Python打家劫舍
题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ...转载 2018-08-21 09:28:48 · 466 阅读 · 0 评论 -
LeetCode刷题之191Python位1的个数
题目:编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 2:输入: 128输出: 1解释: 整数 128 的二进制表示为 0000000000000000000000001000...转载 2018-08-21 09:28:42 · 224 阅读 · 0 评论 -
LeetCode刷题之290Python单词模式
题目:给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern =...转载 2018-08-23 10:20:03 · 256 阅读 · 0 评论 -
LeetCode刷题之292Python Nim游戏
题目:你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 ...转载 2018-08-23 10:20:10 · 440 阅读 · 0 评论 -
LeetCode刷题值400Python第N个数字
题目:在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字。注意:n 是正数且在32为整形范围内 ( n < 231)。示例 1:输入:3输出:3示例 2:输入:11输出:0说明:第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里...转载 2018-08-22 14:52:52 · 890 阅读 · 0 评论 -
LeetCode刷题之389Python找不同
题目:给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。我的解答:一个一个找,暴力方法。解答错误。。。class Solution(object): d...转载 2018-08-22 14:52:45 · 303 阅读 · 0 评论 -
LeetCode刷题之387Python字符串中的第一个唯一字符
题目:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母。我的解答:先计数,返回第一个计数值为1的字符。class Solution(object): def firstUniqC...原创 2018-08-22 14:52:36 · 541 阅读 · 0 评论 -
LeetCode刷题之383Python赎金信
题目:给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct("...原创 2018-08-22 14:52:29 · 295 阅读 · 0 评论 -
LeetCode刷题之347Python猜数字的大小
题目:我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):-1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了!示例:n = 10, 我选择 6...原创 2018-08-22 14:52:23 · 337 阅读 · 0 评论 -
LeetCode刷题之371Python两整数之和
题目:不使用运算符 + 和-,计算两整数a 、b之和。示例:若 a = 1 ,b = 2,返回 3。我的解答:不让用运算符,好啊,还有内置函数呢~不过我知道这题应该用位运算,但是没写出来。。。class Solution(object): def getSum(self, a, b): """ :type a: int ...转载 2018-08-22 14:52:17 · 273 阅读 · 0 评论 -
LeetCode刷题之367Python有效的完全平方数
题目:给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。注意:不要使用任何内置的库函数,如 sqrt。示例 1:输入: 16输出: True示例 2:输入: 14输出: False我的解答: 1.受题69x的平方根的启发。 2.正整数中排除1和4后,只算到num的一半a即可,a*2=num...原创 2018-08-22 14:52:10 · 428 阅读 · 0 评论 -
LeetCode刷题之350Python两个数组的交集II
题目:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输...原创 2018-08-22 14:52:03 · 382 阅读 · 0 评论 -
LeetCode刷题之349Python两个数组的交集
题目:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。我的解答:方法一,暴力法,除...原创 2018-08-22 14:51:44 · 404 阅读 · 0 评论 -
LeetCode刷题之303Python区域和检索 - 数组不可变
题目:给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3说明:你...转载 2018-08-23 10:20:16 · 279 阅读 · 0 评论 -
LeetCode刷题之190Python颠倒二进制位
题目:颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596输出: 964176192解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。进阶:如果多次调用这个函数,你将...转载 2018-08-21 09:28:35 · 722 阅读 · 0 评论 -
LeetCode刷题之189Python旋转数组
题目:给定一个数组,将数组中的元素向右移动 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]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-1...转载 2018-08-21 09:28:28 · 254 阅读 · 0 评论 -
LeetCode之172Python阶乘后的零
题目:给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。参考解答:https://blog.csdn.net/qq_34364995/article/deta...转载 2018-08-21 09:28:19 · 264 阅读 · 0 评论 -
LeetCode刷题之066Python加一
题目:给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示...原创 2018-08-12 12:46:24 · 138 阅读 · 0 评论 -
LeetCode刷题之058Python最后一个单词的长度
题目:给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5我的解答:class Solution(object): def lengthOfLastWord(self, s): ...原创 2018-08-12 12:37:20 · 157 阅读 · 0 评论 -
LeetCode刷题之053Python最大子序和
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。我的解答:class Solution(ob...转载 2018-08-12 12:34:45 · 301 阅读 · 0 评论 -
LeetCode刷题之038Python 报数
题目:报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2", "one 1" (&q转载 2018-08-12 12:12:43 · 192 阅读 · 0 评论 -
LeetCode刷题之035Python搜索插入位置
题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5 输出: 2 示例 2:输入: [1,3,5,6], 2 输出: 1 示例 3:输入: [1,3,5,6], 7 输出: 4 示例 4:输入: [1,3,5,6],...原创 2018-08-12 12:00:59 · 159 阅读 · 0 评论 -
LeetCode刷题之028Python实现strStr()
题目: 实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2:输入: haystack = “aaaaa”, ne...原创 2018-08-09 18:03:04 · 150 阅读 · 0 评论 -
LeetCode刷题之027Python移除元素
题目: 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums...原创 2018-08-09 17:58:47 · 156 阅读 · 0 评论 -
LeetCode刷题之026Python删除排序数组中的重复项
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示...原创 2018-08-09 17:48:19 · 142 阅读 · 0 评论 -
LeetCode刷题之020Python有效的括号
题目: 给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:输入: “()” 输出: true 示例 2:输入: “()[]{}” 输出: true 示例 3:输入: “(]” 输出: fa...原创 2018-08-09 17:42:11 · 154 阅读 · 0 评论 -
LeetCode刷题之014Python最长公共前缀
题目: 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,”flow”,”flight”] 输出: “fl” 示例 2:输入: [“dog”,”racecar”,”car”] 输出: “” 解释: 输入不存在公共前缀。 说明:所有输入只包含小写字母 a-z 。 我的解答:class ...原创 2018-08-09 17:40:02 · 161 阅读 · 0 评论