- 博客(59)
- 收藏
- 关注
转载 LeetCode刷题之303Python区域和检索 - 数组不可变
题目: 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3 说明: 你...
2018-08-23 10:20:16 270
转载 LeetCode刷题之292Python Nim游戏
题目: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 输入: 4 输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 ...
2018-08-23 10:20:10 430
转载 LeetCode刷题之290Python单词模式
题目: 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。 示例1: 输入: pattern = "abba", str = "dog cat cat dog" 输出: true 示例 2: 输入:pattern =...
2018-08-23 10:20:03 241
转载 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 208
转载 LeetCode刷题之278Python第一个错误的版本
题目: 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单...
2018-08-23 10:19:51 188
原创 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 267
原创 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 378
转载 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 346
转载 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 350
转载 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 277
转载 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 381
转载 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 879
转载 LeetCode刷题之389Python找不同
题目: 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例: 输入: s = "abcd" t = "abcde" 输出: e 解释: 'e' 是那个被添加的字母。 我的解答: 一个一个找,暴力方法。解答错误。。。 class Solution(object): d...
2018-08-22 14:52:45 288
原创 LeetCode刷题之387Python字符串中的第一个唯一字符
题目: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 注意事项:您可以假定该字符串只包含小写字母。 我的解答: 先计数,返回第一个计数值为1的字符。 class Solution(object): def firstUniqC...
2018-08-22 14:52:36 528
原创 LeetCode刷题之383Python赎金信
题目: 给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。 (题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。) 注意: 你可以假设两个字符串均只含有小写字母。 canConstruct("...
2018-08-22 14:52:29 277
原创 LeetCode刷题之347Python猜数字的大小
题目: 我们正在玩一个猜数字游戏。 游戏规则如下: 我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。 每次你猜错了,我会告诉你这个数字是大了还是小了。 你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0): -1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了! 示例: n = 10, 我选择 6...
2018-08-22 14:52:23 320
转载 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 264
原创 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 415
原创 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 371
原创 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 391
转载 LeetCode刷题之205Python重构字符串
题目: 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例 1: 输入: s = "egg", t = "add" 输出: true 示例 2: 输入: s = "foo", t = "b...
2018-08-21 09:29:57 849
转载 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 255
转载 LeetCode刷题之202Python快乐数
题目: 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。 示例: 参考解答: https://blog.csdn.net/qq_34364995/article/detai...
2018-08-21 09:29:35 372
原创 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 202
原创 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 295
转载 LeetCode刷题之198Python打家劫舍
题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1: 输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 = 1) ...
2018-08-21 09:28:48 457
转载 LeetCode刷题之191Python位1的个数
题目: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 示例 : 输入: 11 输出: 3 解释: 整数 11 的二进制表示为 00000000000000000000000000001011 示例 2: 输入: 128 输出: 1 解释: 整数 128 的二进制表示为 0000000000000000000000001000...
2018-08-21 09:28:42 214
转载 LeetCode刷题之190Python颠倒二进制位
题目: 颠倒给定的 32 位无符号整数的二进制位。 示例: 输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。 进阶: 如果多次调用这个函数,你将...
2018-08-21 09:28:35 709
转载 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 247
转载 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 252
转载 LeetCode刷题之171Python Excel表列序号
题目: 给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 输入: "A" 输出: 1 示例 2: 输入: "AB" 输出: 28 示例...
2018-08-20 11:53:20 422
原创 LeetCode刷题之169Python求众数
题目: 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 我的解答: 排序后众数就是数组正中间的数。 class Solution(object): d...
2018-08-20 11:41:10 471
转载 LeetCode刷题之168Python Excel表的名称
题目: 给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例 1: 输入: 1 输出: "A" 示例 2: 输入: 28 输出: "AB" ...
2018-08-20 11:36:47 395
转载 LeetCode刷题之167Python两数之和 II - 输入有序数组
题目: 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11,...
2018-08-20 11:29:41 231
转载 LeetCode刷题之136Python只出现一次的数字
题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 我的解答: 思路是一个一个比较后面的数与第一个,找到相同的后就删除这两个,再比较新的第...
2018-08-20 11:15:09 225
转载 LeetCode刷题之125Python验证回文串
题目: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false 参考解答: https://blog.csdn.ne...
2018-08-20 10:55:53 272
转载 LeetCode刷题之122Python买卖股票的最佳时机II
题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖...
2018-08-20 10:42:12 229
转载 LeetCode刷题之121Python买卖股票的最佳时机
题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5...
2018-08-20 10:34:49 157
转载 LeetCode刷题之119杨辉三角II
题目: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O(k) 空间复杂度吗? 参考别人的解答: class Solution(object): def getRow(self, rowIndex): ...
2018-08-20 10:25:04 451
转载 LeetCode刷题之118Python杨辉三角
题目: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 参考解答: https://blog.csdn.net/IT_job/articl...
2018-08-20 09:50:25 304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人