Leetcode刷题记录
sixkery
在写 Java
展开
-
「翻转图像」python之leetcode刷题|003
题目给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0],[1,0,1],[0...原创 2018-08-09 15:17:01 · 172 阅读 · 0 评论 -
905. 按奇偶校验排序数组 | pthon
题目给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。 提示:1 <= A.length <= 50000 <= A[i] <= 5...原创 2018-10-08 15:08:32 · 313 阅读 · 0 评论 -
627. 交换工资
给定一个 salary表,如下所示,有m=男性 和 f=女性的值 。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求使用一个更新查询,并且没有中间临时表。例如:idnamesexsalary1Am25002Bf15003Cm55004Df500运行你所编写的查询语句之后,将会得到以下表:...原创 2018-10-09 10:57:18 · 163 阅读 · 0 评论 -
371. 两整数之和
不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1不用加减,那就要用位运算,我们知道两个数相加实际上是分为两部分的:对应位相加 和 进位。我们平时计算时是将对应位相加和进位同时计算,其实可以保留下进位,只计算对应位相加,保...原创 2018-10-16 09:22:14 · 280 阅读 · 0 评论 -
693. 交替位二进制数
给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。示例 1:输入: 5输出: True解释:5的二进制数是: 101示例 2:输入: 7输出: False解释:7的二进制数是: 111示例 3:输入: 11输出: False解释:11的二进制数是: 1011示例 4:输入: 10输出: True解释:10的二进制数...原创 2018-10-19 12:06:01 · 184 阅读 · 0 评论 -
476. 数字的补数 及进制转换总结
题目给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意:给定的整数保证在32位带符号整数的范围内。你可以假定二进制数不包含前导零位。示例 1:输入: 5输出: 2解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。示例 2:输入: 1输出: 0解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。解答:cl...原创 2018-10-10 14:38:30 · 408 阅读 · 0 评论 -
136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解答我用循环的方法,列表,字典都不行,超出时间的限制。nums = [1,2,3,1,2,3,4]alist ...原创 2018-10-19 20:09:05 · 122 阅读 · 0 评论 -
389. 找不同
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = “abcd”t = “abcde”输出:e解释:‘e’ 是那个被添加的字母。第一种方式class Solution(object): def findTheDifference(self, s, t): ...原创 2018-10-22 09:32:38 · 186 阅读 · 0 评论 -
762. 二进制表示中质数个计算置位
给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例 1:输入: L = 6, R = 10输出: 4解释:6 -&gt; 110 (2 个计算置位,2 是质数)7 -&gt; 111 (3 个计算置位,3 是质数)9...原创 2018-10-20 21:00:34 · 346 阅读 · 0 评论 -
268. 缺失数字
给定一个包含 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(object): def missingNumb...原创 2018-10-23 19:56:58 · 142 阅读 · 0 评论 -
405. 数字转换为十六进制数
给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。...原创 2018-10-24 15:29:16 · 476 阅读 · 0 评论 -
「leetcode」颠倒二进制位
题目颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596输出: 964176192解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。解答:class Solution: ...原创 2018-11-16 11:26:31 · 196 阅读 · 0 评论 -
191. 位1的个数 | python
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011 示例 2:输入: 128输出: 1解释: 整数 128 的二进制表示为 00000000000000000000000010000000cl...原创 2018-10-08 14:42:29 · 186 阅读 · 0 评论 -
349. 两个数组的交集|python
列表推导式很强大。def section(num1,num2): # 交集并集差集 alist = [i for i in num1 if i in num2] alist2 = [i for i in num1 if i not in num2] alist3 = list(set(num1).union(set(num2))) print(ali...原创 2018-10-07 15:47:38 · 343 阅读 · 0 评论 -
leetcode 求幂汇总
由一个题目引出。给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false进阶:你能不使用循环或者递归来完成本题吗?解答用循环:class Solution(object): def isPowerOfFour(self, num): """ ...原创 2018-10-11 23:17:46 · 353 阅读 · 0 评论 -
「翻转字符串」python之leetcode刷题|004
题目1编写一个函数,其作用是将输入的字符串反转过来。示例 1:输入: "hello"输出: "olleh"示例 2:输入: "A man, a plan, a canal: Panama"输出: "amanaP :lanac a ,nalp a ,nam A"解答class Solution(object): def reverseString(self, s...原创 2018-08-10 14:36:04 · 207 阅读 · 0 评论 -
「宝石与石头」Leecode刷题 | 000
一直觉得自己的编程能力不怎么好,于是想到了在Leecode上刷题的这个想法。就先从最基础的开始吧。如果你有更好的解答方法,欢迎与我交流。题目: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型...原创 2018-08-06 15:57:25 · 199 阅读 · 0 评论 -
「判断路线成圈」python之leetcode刷题|005
题目初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到原来的位置。移动顺序由一个字符串表示。每一个动作都是由一个字符来表示的。机器人有效的动作有 R(右),L(左),U(上)和 D(下)。输出应为 true 或 false,表示机器人移动路线是否成圈。示例 1:输入: "UD"输出: true示例...原创 2018-08-11 09:26:14 · 146 阅读 · 0 评论 -
「704. 二分查找 」| leetcode 刷题009
题目1统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5解答class Solution(object): def countSegments(self, s): """ :type s: s...原创 2018-08-14 19:21:17 · 233 阅读 · 0 评论 -
「有趣的电影」MySQL之leetcode刷题|006
题目某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片,结果请按等级 rating 排列。例如,下表 cinema:id movie descripti...原创 2018-08-11 16:28:01 · 227 阅读 · 0 评论 -
「大的国家」Leecode刷题 | 001
打卡第二天,今天的题目是一道SQL查询问题,SQL在工作中经常用到,面试的时候也会出一些基本的SQL语句,我们就从最简单的开始吧。题目:这里有张 World 表name continent area population gdp Afghanistan Asia 652230 25500100 20343000 Albania ...原创 2018-08-07 14:32:09 · 252 阅读 · 0 评论 -
「只出现一次的数字」python之leetcode刷题|007
题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:输入: [0,1,0,1,0,1,99]输出: 99解答这道题是中等难度的题目,刚开始我一看,哎,这么简单,顺手就写了起来...原创 2018-08-12 09:36:35 · 1292 阅读 · 0 评论 -
「比较含退格的字符串」python之leetcode刷题|008
题目给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = ...原创 2018-08-13 11:03:09 · 693 阅读 · 0 评论 -
「汉明距离」Leetcode刷题|002
先来了解一下汉明距离在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。例如:1011101 与 1001001 之间的汉明距离是 2。2143896 与 2233796 之间的汉明距离是 3。"toned" 与 "roses" 之间的汉明距离是 3。应用汉明距离更多的用于信号处理,表明一...原创 2018-08-08 19:47:41 · 248 阅读 · 0 评论 -
「唯一摩尔斯密码词」| leetcode 刷题011
题目国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 "-…", "c" 对应 "-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..",&q原创 2018-08-20 20:17:01 · 381 阅读 · 0 评论 -
「数组拆分」| leetcode 刷题012
题目 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4). 提示: ...原创 2018-09-01 15:39:19 · 129 阅读 · 0 评论 -
535. TinyURL 的加密与解密
题目TinyURL 是一种 URL 简化服务, 比如:当你输入一个 URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的 URL http://tinyurl.com/4e9iAk.要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没有限制的,你只需要保证...原创 2018-12-03 19:30:49 · 678 阅读 · 0 评论