leetcode
神不烦
努力努力再努力
展开
-
[leetcode]Python实现-299. 猜数字游戏
299. 猜数字游戏描述你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但是位置不对(称为“Cows”, 奶牛)。你的朋友将会根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测数返回提示的函数,用 A 表示公牛,用...原创 2020-04-27 00:25:33 · 555 阅读 · 0 评论 -
[leetcode]Python实现-292.Nim游戏
292.Nim游戏描述 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例 输入: 4 输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比...原创 2018-06-16 21:38:07 · 1817 阅读 · 0 评论 -
[leetcode]Python实现-303.区域和检索 - 数组不可变
303.区域和检索 - 数组不可变描述 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 ...原创 2018-06-16 21:38:42 · 1198 阅读 · 1 评论 -
[leetcode]Python实现-326.3的幂
326.3的幂描述 给定一个整数,写一个函数来判断它是否是 3 的幂次方。示例 输入: 27 输出: true 输入: 0 输出: false 输入: 9 输出: true 输入: 45 输出: false进阶 你能不使用循环或者递归来完成本题吗?对不起,我还是使用了循环。class Solution:...原创 2018-06-16 21:39:17 · 792 阅读 · 0 评论 -
[leetcode]Python实现-342.4的幂
342.4的幂描述 给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂。示例 当 num = 16 时 ,返回 true 。 当 num = 5时,返回 false。 问题进阶:你能不使用循环/递归来解决这个问题吗?我class Solution: def isPowerOfFour(self, num): ...原创 2018-06-16 21:39:44 · 380 阅读 · 2 评论 -
[leetcode]Python实现-746.使用最小花费爬楼梯
746.使用最小花费爬楼梯描述 数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 输入: cost = [10, 15, 20] ...原创 2018-06-23 21:01:35 · 2046 阅读 · 5 评论 -
[leetcode]Python+Javascript实现-344.反转字符串
344.反转字符串描述 请编写一个函数,其功能是将输入的字符串反转过来。示例 输入:s = “hello” 返回:”olleh”我class Solution: def reverseString(self, s): """ :type s: str :rtype: str """...原创 2018-06-16 21:40:22 · 1936 阅读 · 1 评论 -
[leetcode]Python实现-345.反转字符串中的元音字母
345.反转字符串中的元音字母描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 给定 s = “hello”, 返回 “holle”. 给定 s = “leetcode”, 返回 “leotcede”. 元音字母不包括 “y”.思路:元音字母a,o,i,e,u。首先按序找出字符串中的元音字母,记录下索引值存放在列表index_list...原创 2018-06-16 21:40:54 · 2091 阅读 · 0 评论 -
[leetcode]Python实现-349.两个数组的交集
349.两个数组的交集描述 给定两个数组,写一个函数来计算它们的交集。例子 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示 每个在结果中的元素必定是唯一的。 我们可以不考虑输出结果的顺序。我class Solution: def intersection(self, nums1, ...原创 2018-06-17 13:33:15 · 1426 阅读 · 0 评论 -
[leetcode]Python实现-350.两个数组的交集II
350.两个数组的交集II描述 给定两个数组,写一个方法来计算它们的交集。例如 给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。跟进 如果给定的数组已经排好序呢?你将如何优化你...原创 2018-06-17 13:33:41 · 1247 阅读 · 1 评论 -
[leetcode]Python实现-57.插入区间
57.插入区间描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 输入: intervals = [[1,...原创 2018-06-24 23:48:30 · 624 阅读 · 0 评论 -
【leetcode】Python实现-203.删除链表中的节点
203.删除链表中的节点描述 删除链表中等于给定值 val 的所有节点。示例 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5我# Definition for singly-linked list.# class ListNode(obj...原创 2018-06-02 11:26:26 · 2460 阅读 · 0 评论 -
【leetcode】Python实现-202.快乐数
202.快乐数描述 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例 输入: 19 输出: true 解释: 12 + 92 = 82 82 + 2...原创 2018-06-02 00:17:57 · 4940 阅读 · 0 评论 -
【leetcode】Python实现-198.打家劫舍
198.打家劫舍描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 输入: [1,2,3,1] 输出: 4 解释...原创 2018-06-02 00:17:14 · 2386 阅读 · 0 评论 -
[leetcode]Python实现-374.猜数字大小
374.猜数字大小描述 我们正在玩一个猜数字游戏。 游戏规则如下: 我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。 每次你猜错了,我会告诉你这个数字是大了还是小了。 你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):-1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对...原创 2018-06-23 21:02:59 · 1100 阅读 · 1 评论 -
[leetcode]Python实现-375.猜数字大小 II
375.猜数字大小 II描述 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。 然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。示例 n = 10, 我选择了8. 第一轮:...原创 2018-06-23 21:03:40 · 1839 阅读 · 0 评论 -
[leetcode]Python实现-414.第三大的数
414.第三大的数描述 给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1.输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的数 2 .输入: [2, 2, 3, 1] 输出: 1 解释:...原创 2018-06-23 21:04:09 · 1297 阅读 · 1 评论 -
[leetcode]Python实现-56.合并区间
56.合并区间描述 给出一个区间的集合,请合并所有重叠的区间。示例 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 输入: [[1,4],[4,5]] 输出: [[1,5]] 解释: 区间 [1...原创 2018-06-23 23:24:56 · 5304 阅读 · 0 评论 -
【leetcode】Python实现-169.求众数
169.求众数描述 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。示例 输入: [3,2,3] 输出: 3 输入: [2,2,1,1,1,2,2] 输出: 2我,题目要求输出的只是一个数,但其实众数不是唯一的,我觉得应该输出数组。。。。...原创 2018-06-01 23:58:02 · 3719 阅读 · 0 评论 -
【leetcode】Python实现-171. Excel表列序号
171. Excel表列序号描述 给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 …示例 输入: “A”...原创 2018-06-01 23:59:02 · 1471 阅读 · 0 评论 -
【leetcode】Python实现-172.阶乘后的零
172.阶乘后的零描述 给定一个整数 n,返回 n! 结果尾数中零的数量。示例1 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。示例2 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。 分析 我的思考过程是这样的: 1)如果将阶乘结...原创 2018-06-01 23:59:35 · 1858 阅读 · 0 评论 -
【leetcode】Python实现-189.旋转数组
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...原创 2018-06-02 00:00:00 · 1616 阅读 · 3 评论 -
【leetcode】Python实现-190.颠倒二进制位
190.颠倒二进制位描述 颠倒给定的 32 位无符号整数的二进制位。示例 输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 0011100101111000001010010100...原创 2018-06-02 00:07:28 · 2779 阅读 · 2 评论 -
【leetcode】Python实现-191.位1的个数
191.位1的个数描述: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 输入: 11 输出: 3 解释: 整数 11 的二进制表示为 00000000000000000000000000001011 输入: 128 输出: 1 解释: 整数 128 的二进制表示为 0000000...原创 2018-06-02 00:16:26 · 1017 阅读 · 0 评论 -
【leetcode】Python实现-204.计数质数
204.计数质数描述 统计所有小于非负整数 n 的质数的数量。示例 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。我 import math flag = 0 sum = 0 for i in range(2, n): ...原创 2018-06-10 13:09:23 · 3906 阅读 · 6 评论 -
【leetcode】Python实现-220.存在重复元素 III
220.存在重复元素 III就着把三题关联的给做了 描述 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j]的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例 输入: nums = [1,2,3,1], k = 3, t = 0 输出: true 输入: nums = [1,0,...原创 2018-06-10 13:13:40 · 2023 阅读 · 0 评论 -
[leetcode]Python实现-148.排序链表
148.排序链表描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 输入: 4->2->1->3 输出: 1->2->3->4输入: -1->5->3->4->0 输出: -1->0->3->4->5思路: 这就需要分析一下各个排序算法原创 2018-07-11 00:28:37 · 6335 阅读 · 3 评论 -
[leetcode]Python实现-524.通过删除字母匹配到字典里最长单词
524.通过删除字母匹配到字典里最长单词描述 给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个,返回长度最长且字典顺序最小的字符串。如果答案不存在,则返回空字符串。示例 输入: s = “abpcplea”, d = [“ale”,”apple”,”monkey”,”plea”] 输出:...原创 2018-07-11 00:29:10 · 1296 阅读 · 0 评论 -
[leetcode]Python实现-102.二叉树的层次遍历
102.二叉树的层次遍历描述 思路:层次遍历。定义两个列表,存储当前层的结点和下一层的结点。# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# ...原创 2018-07-15 23:04:53 · 1033 阅读 · 0 评论 -
[leetcode]Python+Javascript实现-38. 报数/外观数列
38. 报数描述报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 ...原创 2019-07-02 23:30:21 · 459 阅读 · 0 评论 -
[leetcode]Python实现-717. 1比特与2比特字符
717. 1比特与2比特字符描述有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入:bits = [1, 0, 0]输出: True解释:唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。示...原创 2019-09-15 23:12:20 · 232 阅读 · 0 评论 -
[leetcode]Python实现-387. 字符串中的第一个唯一字符
387. 字符串中的第一个唯一字符描述给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = “leetcode”返回 0.s = “loveleetcode”,返回 2.我class Solution: def firstUniqChar(self, s: str) -> int: if not s: r...原创 2019-09-17 00:00:00 · 366 阅读 · 0 评论 -
[leetcode]Python实现-389. 找不同
389. 找不同描述给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = “abcd”t = “abcde”输出:e解释:‘e’ 是那个被添加的字母。我class Solution: def findTheDifference(self, s: str,...原创 2019-09-17 23:35:57 · 359 阅读 · 0 评论 -
[leetcode]Python实现-392. 判断子序列
392. 判断子序列描述给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是...原创 2019-09-19 01:48:52 · 1185 阅读 · 0 评论 -
[leetcode]Python实现-415. 字符串相加
415. 字符串相加描述给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。我class Solution: def addSt...原创 2019-09-21 01:27:13 · 558 阅读 · 0 评论 -
[leetcode]Python实现-989. 数组形式的整数加法
989. 数组形式的整数加法描述对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234解释 2:输入:A...原创 2019-10-10 00:12:02 · 410 阅读 · 0 评论 -
[leetcode]Python实现-147.对链表进行插入排序
147.对链表进行插入排序描述 对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待...原创 2018-07-11 00:27:58 · 1756 阅读 · 0 评论 -
[leetcode]Python实现-75.分类颜色
75.分类颜色描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意 不能使用代码库中的排序函数来解决这道题。示例 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2]进阶...原创 2018-07-11 00:27:19 · 1806 阅读 · 0 评论 -
【leetcode】Python实现-290.单词模式
290.单词模式顺便把相关的290给做了。 描述 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。 这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应模式。示例 输入: pattern = “abba”, str = “dog cat cat dog” 输出...原创 2018-06-10 13:10:44 · 785 阅读 · 0 评论 -
【leetcode】Python实现-206.反转链表
206.反转链表描述 反转一个单链表示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL我class Solution: def reverseList(self, head): """ :type.原创 2018-06-10 13:11:14 · 2604 阅读 · 0 评论