
leetcode
予非池物
这个作者很懒,什么都没留下…
展开
-
leetcode 232. 用栈实现队列 python
使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // 返回 1qu...原创 2018-11-20 21:21:08 · 306 阅读 · 0 评论 -
leetcode 290 单词模式 python
给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern = "abba...原创 2018-11-22 11:06:24 · 140 阅读 · 0 评论 -
leetcode 292 Nim游戏 python
你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 3...原创 2018-11-22 11:30:11 · 246 阅读 · 0 评论 -
leetcode 303. 区域和检索 - 数组不可变 python
给定一个整数数组 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-11-22 11:54:23 · 295 阅读 · 0 评论 -
leetcode 326. 3的幂 python
给定一个整数,写一个函数来判断它是否是 3 的幂次方。示例 1:输入: 27输出: true示例 2:输入: 0输出: false示例 3:输入: 9输出: true示例 4:输入: 45输出: falseclass Solution: def isPowerOfThree(self, n): """ ...原创 2018-11-22 12:13:20 · 219 阅读 · 0 评论 -
leetcode 342. 4的幂 python
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false进阶:你能不使用循环或者递归来完成本题吗?递归方法:class Solution: def isPowerOfFour(self, num): """ :typ...原创 2018-11-22 12:31:54 · 228 阅读 · 0 评论 -
leetcode 344. 反转字符串 python
编写一个函数,其作用是将输入的字符串反转过来。示例 1:输入: "hello"输出: "olleh"示例 2:输入: "A man, a plan, a canal: Panama"输出: "amanaP :lanac a ,nalp a ,nam A"class Solution: def reverseString(self, s): "...原创 2018-11-22 13:24:36 · 221 阅读 · 0 评论 -
leetcode undefined 345. 反转字符串中的元音字母 python
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: "hello"输出: "holle"示例 2:输入: "leetcode"输出: "leotcede"说明:元音字母不包含字母"y"。解析:从前后分别找到元音字母互换位置class Solution: def reverseVowels(self, s): ...原创 2018-11-22 14:20:15 · 223 阅读 · 0 评论 -
leetcode 349. 两个数组的交集 python
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。class Solution: ...原创 2018-11-22 14:48:39 · 220 阅读 · 0 评论 -
leetcode 383. 赎金信 python
给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct("a", "...原创 2018-11-23 16:47:27 · 1613 阅读 · 0 评论 -
leetcode 283 移动零 python
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。class Solution: def moveZeroes(self, nums): """ :typ...原创 2018-11-21 22:12:29 · 186 阅读 · 0 评论 -
leetcode 278. 第一个错误的版本
第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例:给定 n = 5,并且 version = 4 是第一个错误的版本。调用 isBadVersion(3) -> false调用 isBadVersio...原创 2018-11-21 19:06:21 · 515 阅读 · 0 评论 -
leetcode 234. 回文链表 python
请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?# Definition for singly-linked list.# class ListNode(object):# d...原创 2018-11-20 21:35:38 · 301 阅读 · 0 评论 -
leetcode 235. 二叉搜索树的最近公共祖先 python
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5] _______6__...原创 2018-11-20 22:18:06 · 369 阅读 · 0 评论 -
leetcode 237. 删除链表中的节点 python
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之...原创 2018-11-21 12:32:30 · 185 阅读 · 0 评论 -
leetcode 242. 有效的字母异位词 python
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应...原创 2018-11-21 12:51:07 · 408 阅读 · 1 评论 -
leetcode 257. 二叉树的所有路径 python
给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3# Definition for a binary tree nod...原创 2018-11-21 13:53:22 · 806 阅读 · 0 评论 -
leetcode 258. 各位相加 python
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?class Solution: def addDigits(self, num):...原创 2018-11-21 14:28:43 · 216 阅读 · 0 评论 -
leetcode 263. 丑数 python
编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3示例 2:输入: 8输出: true解释: 8 = 2 × 2 × 2示例 3:输入: 14输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数 7说明:1 是丑数。 输入不会超...原创 2018-11-21 15:03:27 · 231 阅读 · 0 评论 -
leetcode 268. 缺失数字python
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?class Solution: def missingNumb...原创 2018-11-21 18:45:35 · 257 阅读 · 0 评论 -
leetcode 350. 两个数组的交集 II python
给定两个数组,编写一个函数来计算它们的交集。示例 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-11-22 15:09:53 · 163 阅读 · 0 评论 -
leetcode 367. 有效的完全平方数 python
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False二分法:class Solution: def isPerfectSquare(self, num): """...原创 2018-11-22 15:31:49 · 225 阅读 · 0 评论 -
leetcode 374. 猜数字大小 python
你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):-1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了!示例 :输入: n = 10, pick = 6输出: 6# The guess API is already defined for you.# @param num, your gue...原创 2018-11-23 15:19:29 · 386 阅读 · 0 评论 -
leetcode 387. 字符串中的第一个唯一字符 python3
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2. 注意事项:您可以假定该字符串只包含小写字母。class Solution: def firstUniqChar(self, s): """ :ty...原创 2018-11-26 17:41:40 · 439 阅读 · 0 评论 -
leetcode 434. 字符串中的单词数 python3
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5class Solution: def countSegments(self, s): """ :type s: str :rtype...原创 2018-11-26 18:13:02 · 221 阅读 · 0 评论 -
leetcode 437 路径总和 III Python
给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8...原创 2018-11-27 12:33:08 · 706 阅读 · 0 评论 -
leetcode 438. 找到字符串中所有字母异位词 python
给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。 不考虑答案输出的顺序。示例 1:输入:s: "cbaebabacd" p: "abc"输出:[0, 6]解释:起始索引等于 0...原创 2018-11-28 12:56:38 · 434 阅读 · 0 评论 -
leetcode 441. 排列硬币 python
你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。给定一个数字 n,找出可形成完整阶梯行的总行数。n 是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤ ¤...原创 2018-11-28 13:12:59 · 243 阅读 · 0 评论 -
leetcode 443 压缩字符串 python
压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。 进阶:你能否仅使用O(1) 空间解决问题? 示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:["a&q原创 2018-11-28 13:49:18 · 737 阅读 · 0 评论 -
leetcode 448. 找到所有数组中消失的数字 python
给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]class...原创 2018-11-28 17:55:14 · 295 阅读 · 0 评论 -
leetcode206 反转链表 python
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?# Definition for singly-linked list.# class ListNode(object):# d...原创 2018-11-20 14:32:50 · 283 阅读 · 0 评论 -
leetcode 205同构字符串 python
给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "bar"输出...原创 2018-11-20 13:42:06 · 193 阅读 · 0 评论 -
leetcode 204 计数质数 python
统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。超时 :主要注意 for...else...算法class Solution(object): def countPrimes(self, n): """ :type n: int ...原创 2018-11-19 23:07:06 · 205 阅读 · 0 评论 -
leetcode172 阶层后的零
给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。解析:计算公式这里先给出其计算公式,后面给出推导过程。令f(x)表示正整数x末尾所含有的“0”的个数,则有:...原创 2018-11-19 17:33:19 · 244 阅读 · 0 评论 -
leetcode 189 旋转数组
给定一个数组,将数组中的元素向右移动 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,-100,3,...原创 2018-11-19 17:57:06 · 99 阅读 · 0 评论 -
leetcode190 颠倒二进制位 python
颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596输出: 964176192解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。class Solution: ...原创 2018-11-19 19:28:18 · 178 阅读 · 0 评论 -
leetcode 191 位1的个数 python
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011 示例 2:输入: 128输出: 1解释: 整数 128 的二进制表示为 000000000000000000000000100000...原创 2018-11-19 19:35:28 · 160 阅读 · 0 评论 -
leetcode198 打家劫舍 python
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃...原创 2018-11-19 20:08:04 · 197 阅读 · 0 评论 -
leetcode202 欢乐数 python
一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例: 输入: 19输出: true解释: 12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1解析:如果和值出现4就为无限循...原创 2018-11-19 21:07:37 · 289 阅读 · 0 评论 -
leetcode 203 移除链表元素 python
删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5效率有点低。。# Definition for singly-linked list.# class ListNode(object):# def __init...原创 2018-11-19 21:29:39 · 514 阅读 · 0 评论