- 博客(41)
- 资源 (2)
- 收藏
- 关注
原创 leetcode刷题笔记python---921. 使括号有效的最少添加
921. 使括号有效的最少添加题目给定一个由 ‘(’ 和 ‘)’ 括号组成的字符串 S,我们需要添加最少的括号( ‘(’ 或是 ‘)’,可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者它可以被写作 (A),其中 A 是有效字符串。...
2018-12-28 19:37:58
263
原创 Leetcode刷题笔记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 Solu...
2018-10-24 13:35:26
272
原创 Leetcode刷题笔记python---反转字符串中的元音字母
反转字符串中的元音字母题目编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: “hello”输出: “holle”示例 2:输入: “leetcode”输出: “leotcede”说明:元音字母不包含字母"y"。解答思路:找到字符串中元音字母——循环1在找一次——替换,循环2把list换成str——循环3代码:class Soluti...
2018-10-22 22:17:53
344
原创 Leetcode刷题笔记python---单调数列
单调数列题目如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true示例 2:输入:...
2018-10-18 16:06:49
361
原创 Leetcode刷题笔记python---买卖股票的最佳时机
买卖股票的最佳时机题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 ...
2018-10-18 15:00:39
163
原创 Leetcode刷题笔记python---赎金信
赎金信题目给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct(“a”,...
2018-10-16 22:20:17
189
原创 Leetcode刷题笔记python---4的幂
4的幂题目给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false解答思路:while比较代码:class Solution(object): def isPowerOfFour(self, num): """ :type ...
2018-10-16 22:10:06
294
原创 Leetcode刷题笔记python---位1的个数
位1的个数题目编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 2:输入: 128输出: 1解释: 整数 128 的二进制表示为 000000000000000000000000100000...
2018-10-10 13:37:10
139
原创 Leetcode刷题笔记python---二进制求和
二进制求和题目给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”解答思路:转换成二进制的函数转换成10进制的函数求解代码:class Solution: d...
2018-10-09 22:06:34
266
原创 Leetcode刷题笔记python---相对名次
相对名次题目给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”(“Gold Medal”, “Silver Medal”, “Bronze Medal”)。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: [“Gold Medal”, “Silver Medal”, ...
2018-10-09 21:24:37
661
原创 Leetcode刷题笔记python---学生出勤纪录 I
学生出勤纪录 I题目给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:‘A’ : Absent,缺勤‘L’ : Late,迟到‘P’ : Present,到场如果一个学生的出勤纪录中不超过一个’A’(缺勤)并且不超过两个连续的’L’(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤纪录判断他是否会被奖赏。示例 1:输入: “PPALLP”输出: True...
2018-10-08 14:17:35
342
原创 Leetcode刷题笔记python---缺失数字
缺失数字题目给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?解答思路:一:遍历not in结果:时间太长二:找特点加总...
2018-10-08 14:10:28
370
原创 Leetcode刷题笔记python---最大连续1的个数
最大连续1的个数题目给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。解答思路:遍历计数代码:class Solution: def findMaxCo...
2018-10-08 13:43:05
280
原创 Leetcode刷题笔记python---柠檬水找零
柠檬水找零题目在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。示例 1:...
2018-10-04 13:55:45
317
原创 Leetcode刷题笔记python---有效的字母异位词
有效的字母异位词题目给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的...
2018-10-04 13:30:12
259
原创 Leetcode刷题笔记python---旋转数字
旋转数字题目我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转成对方;6 和 9 同理,除了这些以外其他的数字旋转以后都不再是有效的数字。现在我们有一个正整数 N,...
2018-10-04 13:11:15
175
原创 Leetcode刷题笔记python---两句话中的不常见单词
两句话中的不常见单词题目给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。返回所有不常用单词的列表。您可以按任何顺序返回列表。示例 1:输入:A = “this apple is sweet”, B = “this apple is sour”输出:[“...
2018-10-04 12:57:59
251
原创 Leetcode刷题笔记python---检测大写字母
检测大写字母题目给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。否则,我们定义这个单词没有正确使用大写字母。示例 1:输入: “USA”输出: True示例 2:输入: “F...
2018-10-03 14:12:36
572
原创 Leetcode刷题笔记python---移除元素
移除元素题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中...
2018-10-03 13:45:59
216
原创 Leetcode刷题笔记python---移动零
移动零题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解答错误示范:for i in range(len(nums)): if nums[i]==0 and i&lt;len(nums...
2018-10-03 10:51:30
195
原创 Leetcode刷题笔记python----找不同
找不同题目给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = “abcd”t = “abcde”输出:e解释:‘e’ 是那个被添加的字母。解答思路:遍历如果是相同的,就找数目不同的代码:class Solution: def findThe...
2018-10-02 08:19:42
189
原创 Leetcode刷题笔记python---回文数
回文数题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进...
2018-10-01 22:49:40
166
原创 Leetcode刷题笔记python----求众数
求众数题目给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2解答思路:set求单一元素遍历。count()求和3.判断得到结果代码:class Solution:...
2018-10-01 19:17:49
257
原创 Leetcode刷题笔记python----棒球比赛
棒球比赛题目你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. “C”(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无...
2018-10-01 19:08:39
267
原创 Leetcode刷题笔记python----只出现一次的数字
只出现一次的数字题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解答思路:一开始利用set(),找到所有元素,再遍历找到唯一元素,时间太慢(存在遍历)...
2018-09-30 21:17:51
247
原创 Leetcode刷题笔记python-----下一个更大的元素1
下一个更大的元素题目给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], nums2 = ...
2018-09-30 20:30:01
330
原创 Leetcode刷题笔记python-----交替位二进制数
交替位二进制数题目给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。示例 1:输入: 5输出: True解释:5的二进制数是: 101示例 2:输入: 7输出: False解释:7的二进制数是: 111示例 3:输入: 11输出: False解释:11的二进制数是: 1011示例 4:输入: 10输出: True...
2018-09-30 17:14:08
346
原创 Leetcode刷题笔记python-----分糖果
分糖果题目给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最...
2018-09-30 11:21:09
451
原创 Leetcode刷题笔记python-----两整数之和
两整数之和题目不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1解答思路:整合成集合sum()代码:class Solution: def getSum(self, a, b): """...
2018-09-30 11:07:54
165
原创 Leetcode刷题笔记python------写字符串需要的行数
写字符串需要的行数题目我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。现在回...
2018-09-30 11:01:05
152
原创 Leetcode刷题笔记python-----自除数
自除数题目自除数 是指可以被它包含的每一位数除尽的数。例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。还有,自除数不允许包含 0 。给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。示例 1:输入:上边界left = 1, 下边界right = 22输出: [1, 2, 3, 4, 5...
2018-09-30 08:54:49
609
原创 Leetcode刷题笔记python-----数组拆分 I
数组拆分 I题目给定长度为 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).提示:n 是正整数,范围在 [1, 100...
2018-09-29 19:42:16
344
原创 Leetcode刷题笔记python-----反转字符串中的单词3
反转字符串中的单词3题目给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: “Let’s take LeetCode contest”输出: “s’teL ekat edoCteeL tsetnoc”注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。解答思路:按空格分开每个单词反转拼接在一起...
2018-09-29 19:08:40
575
原创 Leetcode刷题笔记python---键盘行
键盘行#题目给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。示例1:输入: [“Hello”, “Alaska”, “Dad”, “Peace”]输出: [“Alaska”, “Dad”]注意:1.你可以重复使用键盘上同一字符。2.你可以假设输入的字符串将只包含字母。#解答代码:将题目分解为两步,判断一个字符串在不在另一个字符串内再遍...
2018-09-29 10:54:27
320
原创 Leetcode刷题笔记python-----唯一摩尔斯密码词
唯一摩尔斯密码词#题目国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: “a” 对应 “.-”, “b” 对应 “-…”, “c” 对应 “-.-.”, 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[&quot;.-&quot;,&quot;-…&quot;,&quot;-.-.&quot;,&quot;-…&
2018-09-28 20:09:07
203
原创 Leetcode刷题笔记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-09-28 17:57:57
219
原创 Leetcode刷题笔记python------宝石与石头
宝石与石头#题目给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入: J = “z”, S =...
2018-09-28 16:45:28
588
原创 Leetcode刷题python----Excel表列序号
Excel表列序号#题目给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -&gt; 1B -&gt; 2C -&gt; 3...Z -&gt; 26AA -&gt; 27AB -&gt; 28 ...示例 1:输入: “A”输出: 1示例 2:输入: “AB”输出: 28示例 3:输入: “ZY”输出: 701#解题思路:26进制代码...
2018-09-27 20:47:13
271
原创 Leetcode刷题笔记python------各位相加
各位相加#题目给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?#解答class Solution: def addDigits(self, ...
2018-09-27 20:08:23
701
原创 Leetcode刷题笔记python------最长公共前缀
Leetcode刷题笔记python(2)#最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。#...
2018-09-26 22:58:11
206
R-full Reference Manuals
2017-12-21
dea模型matlab代码,三个dea模型,超效率dea,BCC,CCR
2018-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人