leetcode
小白开始用python刷题,多多指点
予非池物
这个作者很懒,什么都没留下…
展开
-
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 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 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 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 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 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 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 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 292 Nim游戏 python
你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 3...原创 2018-11-22 11:30:11 · 246 阅读 · 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 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 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 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 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 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 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 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 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 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 231. 2的幂 python
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false分析:负数一定不是2的幂 2的整数次幂对应的二进制数只含有0个或者1个1 时间复杂度:O(n) 空间复杂度:O(1)class S...原创 2018-11-20 21:13:04 · 271 阅读 · 0 评论 -
leetcode 226. 翻转二叉树 python
翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1# Definition for a binary tree node.# class TreeNode(object):# def...原创 2018-11-20 20:53:09 · 222 阅读 · 0 评论 -
leetcode 225. 用队列实现栈 python
使用队列实现栈的下列操作:push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 你所使用的语言也许不支持队列。 你可以使用 lis...原创 2018-11-20 20:27:54 · 740 阅读 · 0 评论 -
leetcode 219. 存在重复元素 II python
给定一个整数数组和一个整数 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 = [1,2...原创 2018-11-20 18:08:10 · 181 阅读 · 0 评论 -
leetcode 217 存在重复元素 python
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 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 class Solution(...原创 2018-11-20 14:55:41 · 111 阅读 · 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 评论 -
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 评论 -
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 评论 -
leetcode198 打家劫舍 python
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃...原创 2018-11-19 20:08:04 · 197 阅读 · 0 评论 -
leetcode 191 位1的个数 python
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011 示例 2:输入: 128输出: 1解释: 整数 128 的二进制表示为 000000000000000000000000100000...原创 2018-11-19 19:35:28 · 160 阅读 · 0 评论 -
leetcode190 颠倒二进制位 python
颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596输出: 964176192解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。class Solution: ...原创 2018-11-19 19:28:18 · 178 阅读 · 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 评论 -
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 171 Excel列表序号 python
给定一个Excel表格中的列名称,返回其相应的列序号。例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...示例 1:输入: "A"输出: 1示例 2:输入: "AB"输出: 28示例 3:...原创 2018-11-15 19:33:29 · 176 阅读 · 0 评论 -
leetcode 168 Excel列表名称 python
给定一个正整数,返回它在 Excel 表中相对应的列名称。例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...示例 1:输入: 1输出: "A"示例 2:输入: 28输出: "AB"示例 3:...原创 2018-11-15 18:44:00 · 294 阅读 · 0 评论 -
leetcode155 最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.pus...原创 2018-11-15 14:30:29 · 182 阅读 · 0 评论 -
leetcode 160 相交链表 python
编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表:A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3在节点 c1 开始相交。 注意:如果两个链表没...原创 2018-11-15 14:27:00 · 279 阅读 · 0 评论 -
leetcode 135 分发糖果 ---python
老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示...原创 2018-11-14 20:25:38 · 903 阅读 · 0 评论