Leetcode
Maka_uir
这个作者很懒,什么都没留下…
展开
-
【Leetcode_总结】 1232. 缀点成线 - python
在一个XY 坐标系中有一些点,我们用数组coordinates来分别记录它们的坐标,其中coordinates[i] = [x, y]表示横坐标为 x、纵坐标为 y的点。请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/check...原创 2019-12-12 09:58:32 · 272 阅读 · 0 评论 -
【Leetcode_总结】 1221. 分割平衡字符串 - python
在一个「平衡字符串」中,'L' 和 'R' 字符的数量是相同的。给出一个平衡字符串s,请你将它分割成尽可能多的平衡字符串。返回可以通过分割得到的平衡字符串的最大数量。示例 1:输入:s = "RLRRLLRLRL"输出:4解释:s 可以分割为 "RL", "RRLL", "RL", "RL", 每个子字符串中都包含相同数量的 'L' 和 'R'。示例 2:输入:s...原创 2019-12-11 14:25:05 · 315 阅读 · 0 评论 -
【Leetcode_总结】 1200. 最小绝对差 - python
给你个整数数组arr,其中每个元素都 不相同。请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。示例 1:输入:arr = [4,2,1,3]输出:[[1,2],[2,3],[3,4]]示例 2:输入:arr = [1,3,6,10,15]输出:[[1,3]]示例 3:输入:arr = [3,8,-10,23,19,-4,-14,27]输出:[[-14...原创 2019-11-04 20:00:41 · 442 阅读 · 0 评论 -
【Leetcode_总结】 784. 字母大小写全排列
Q:给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = "a1b2"输出: ["a1b2", "a1B2", "A1b2", "A1B2"]输入: S = "3z4" 输出: ["3z4", "3Z4"]输入: S = "12345&原创 2018-10-19 08:02:54 · 786 阅读 · 0 评论 -
【Leetcode_总结】 66. 加一
Q:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。思路:实际上这道题应该是考察二进制加法或者按位运算,做的时候也是投机取巧了,直接转换为字符串,加一之...原创 2018-10-19 08:24:25 · 140 阅读 · 0 评论 -
【Leetcode_总结】 628. 三个数的最大乘积
Q:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3] 输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。思路:找到数组中的三个最大正整数,或...原创 2018-10-19 08:56:20 · 249 阅读 · 0 评论 -
【Leetcode_总结】 796. 旋转字符串
Q:A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' 。如果在若干次旋转操作之后,A 能变成B,那么返回True。示例 1:输入: A = 'abcde', B = 'cdeab'输出: true示例 2:输入: A = 'abcde', B = 'abced'输出: false思路:利用双指针...原创 2018-10-19 09:15:43 · 262 阅读 · 0 评论 -
【Leetcode_总结】 172. 阶乘后的零
Q:给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。首先,时间复杂度应为 O(log n) ,就说明会有比较大的数字出现,先暴力求解试一下,方法如下,递归...原创 2018-10-19 09:25:56 · 154 阅读 · 0 评论 -
【Leetcode_总结】665. 非递减数列
Q:给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。示例 1:输入: [4,2,3]输出: True解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。...原创 2018-10-19 10:01:28 · 267 阅读 · 0 评论 -
【Leetcode_总结】567. 字符串的排列
Q:给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False...原创 2018-10-19 10:28:24 · 438 阅读 · 0 评论 -
【Leetcode_总结】747. 至少是其他数字两倍的最大数
Q:在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:输入: nums =...原创 2018-10-19 14:36:59 · 153 阅读 · 0 评论 -
【Leetcode_总结】506. 相对名次 - python
Q:给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: ["Gold Medal", "Silver Medal", ...原创 2018-10-22 08:07:08 · 382 阅读 · 0 评论 -
【Leetcode_总结】598. 范围求和 II
Q:给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 1:...原创 2018-10-19 22:40:15 · 146 阅读 · 0 评论 -
【Leetcode_总结】389. 找不同
Q:给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。思路:用一个list统计字符个数,在字符串s中的加1,在字符串t中的减1,最后寻找序号为-1的位置对应的字符c...原创 2018-10-19 22:49:00 · 157 阅读 · 0 评论 -
【Leetcode_总结】682. 棒球比赛- python
Q:你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. "C"(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应...原创 2018-10-22 14:42:55 · 554 阅读 · 0 评论 -
【Leetcode_总结】925. 长按键入 - python
Q:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。 示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和...原创 2018-10-22 16:35:35 · 320 阅读 · 0 评论 -
【Leetcode_总结】868. 二进制间距 - python
Q:给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。示例 1:输入:22输出:2解释:22 的二进制是 0b10110 。在 22 的二进制表示中,有三个 1,组成两对连续的 1 。第一对连续的 1 中,两个 1 之间的距离为 2 。第二对连续的 1 中,两个 1 之间的距离为 1 。答案取两个...原创 2018-10-22 17:10:47 · 362 阅读 · 0 评论 -
【Leetcode_总结】415. 字符串相加 -python
Q:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包含任何前导零。 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。思路:首先题目说明不能使用Python库 不能直接转形 但是题目中最快的方法...原创 2018-10-25 08:33:35 · 561 阅读 · 1 评论 -
【Leetcode_总结】43. 字符串相乘 -python
Q:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"思路与字符串相加一样,先转成整形相乘在转字符串输出,代码如下原创 2018-10-25 08:38:59 · 396 阅读 · 0 评论 -
【Leetcode_总结】504. 七进制数 -python
Q:504. 七进制数题目描述提示帮助提交记录社区讨论阅读解答随机一题给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是 [-1e7, 1e7] 。思路:暴力求解class Solution: def convertToBase7(...原创 2018-10-25 09:30:25 · 380 阅读 · 0 评论 -
【Leetcode_总结】 922. 按奇偶排序数组 II -python
Q:给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 <=...原创 2018-10-23 07:06:05 · 738 阅读 · 0 评论 -
【Leetcode_总结】 917. 仅仅反转字母 -python
Q:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例 1:输入:"ab-cd"输出:"dc-ba"示例 2:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"思路:双指针,分别从字符串两侧向中间遍历,判断是否是字母,如果是,交换两个字符class Solution: ...原创 2018-10-23 07:31:47 · 457 阅读 · 0 评论 -
【Leetcode_总结】7. 反转整数
O:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1] 。根据这个假设,如果反转后的整数溢出,则返回 0。思路:首先题目确定了...原创 2018-10-21 09:54:34 · 150 阅读 · 0 评论 -
【Leetcode_总结】13. 罗马数字转整数 - python
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1...原创 2018-10-21 09:59:56 · 244 阅读 · 0 评论 -
【Leetcode_总结】824. 山羊拉丁文 - python
Q:给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下:如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"。 例如,单词"apple"变为"applema"。 如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它...原创 2018-10-21 10:39:13 · 351 阅读 · 0 评论 -
【Leetcode_总结】551. 学生出勤纪录 I - python
给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤纪录判断他是否会被奖赏。示例 1:输入: "PPALLP"输出: True示例...原创 2018-10-21 11:03:25 · 228 阅读 · 0 评论 -
【Leetcode_总结】38. 报数 - python
Q:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2", "one 1" (&quo原创 2018-10-21 15:30:40 · 385 阅读 · 0 评论 -
【Leetcode_总结】 34. 在排序数组中查找元素的第一个和最后一个位置 -python
Q:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8...原创 2018-10-25 21:57:20 · 308 阅读 · 0 评论 -
【Leetcode_总结】229. 求众数 II -python
Q:给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例 1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3,3,2,2,2]输出: [1,2]思路:还是暴力求解,使用词典进行统计,最后输出大于3的数,代码如下: class Solutio...原创 2018-10-25 22:04:03 · 492 阅读 · 0 评论 -
【Leetcode_总结】414. 第三大的数 -python
Q:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .链接:https://leetcode-cn.com/problems/th...原创 2018-10-25 22:21:51 · 235 阅读 · 0 评论 -
【Leetcode_总结】 215. 数组中的第K个最大元素 -python
Q:215. 数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4链接:https://leetcode-cn.com/...原创 2018-10-25 22:27:31 · 512 阅读 · 0 评论 -
【Leetcode_总结】771. 宝石与石头 - python
Q: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", ...原创 2018-10-21 21:53:15 · 141 阅读 · 0 评论 -
【Leetcode_总结】 807. 保持城市天际线 -python
Q:在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时,由所有建筑物形成的矩形的外部轮廓。 请看下面的例子。建筑物高度可以增加的最大总和是多少...原创 2018-10-26 07:45:38 · 411 阅读 · 1 评论 -
【Leetcode_总结】 859. 亲密字符串 -python
Q:859. 亲密字符串给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。示例 1:输入: A = "ab", B = "ba"输出: true示例 2:输入: A = "ab", B = "ab"输出: false示例 3:输入: A = "aa",...原创 2018-10-26 10:30:48 · 632 阅读 · 0 评论 -
【Leetcode_总结】 459. 重复的子字符串 - python
Q:给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False思路1:使用KMP算法,返回的条件是 p 为next [-1] p > 0 and si...原创 2018-10-29 13:50:22 · 940 阅读 · 0 评论 -
【Leetcode_总结】 205. 同构字符串 -python
Q:给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true链接:https://leetcode-cn.com/pro...原创 2018-10-26 11:14:00 · 1200 阅读 · 0 评论 -
【Leetcode_总结】 290. 单词模式 -python
Q:290. 单词模式给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输...原创 2018-10-26 11:35:25 · 160 阅读 · 1 评论 -
【Leetcode_总结】 219. 存在重复元素 II -python
Q:219. 存在重复元素 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思路:...原创 2018-10-26 14:23:35 · 296 阅读 · 0 评论 -
【Leetcode_总结】 58. 最后一个单词的长度 -python
Q:给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5链接:https://leetcode-cn.com/problems/length-of-last-word/description/ 思路:...原创 2018-10-26 14:56:21 · 131 阅读 · 0 评论 -
【Leetcode_总结】 633. 平方数之和 -python
Q:给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5示例2:输入: 3输出: False链接:https://leetcode-cn.com/problems/sum-of-square-numbers/description/思路:首先...原创 2018-10-26 15:23:56 · 452 阅读 · 0 评论