![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
Zrf@
这个作者很懒,什么都没留下…
展开
-
Leetcode ---28. 实现 strStr()(数组)
28. 实现 strStr()实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例2:输入: haystack = "aaaaa"...原创 2019-12-10 09:35:56 · 122 阅读 · 0 评论 -
Leetcode ---6. Z 字形变换(字符串)
6. Z 字形变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行...原创 2019-12-10 09:29:18 · 109 阅读 · 0 评论 -
动态规划
动态规划简介https://www.cnblogs.com/loveer/p/11786100.html动态规划遵循一套固定的流程:递归的暴力解法( O(2^n) ) -> 带备忘录的递归解法( O(n) ) -> 非递归的动态规划解法( O(n) )。「自顶向下」: 是从上向下延伸, 都是从一个规模较大的原问题比如说 f(20),向下逐渐分解规模,直到 f(1...原创 2019-12-05 12:04:08 · 143 阅读 · 0 评论 -
Leetcode ---415. 字符串相加(数组)
415. 字符串相加给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。Python思路1:class Solution: ...原创 2019-12-04 21:00:33 · 106 阅读 · 0 评论 -
Leetcode --- 414. 第三大的数(数组)
414. 第三大的数给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数...原创 2019-12-04 20:35:34 · 134 阅读 · 0 评论 -
Leetcode ---两数之和 II - 输入有序数组(数组)
两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明: 返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例1:输入: numbers = [2,...原创 2019-12-02 10:24:26 · 184 阅读 · 0 评论 -
Leetcode ---169. 多数元素(数组)
169. 多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2JAVA思路1:双层循环class Solution { public i...原创 2019-11-29 13:56:18 · 247 阅读 · 0 评论 -
Leetcode ---189. 旋转数组(数组)
189. 旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]原创 2019-11-28 14:03:10 · 66 阅读 · 0 评论 -
Leetcode ---119. 杨辉三角 II(数组)
119. 杨辉三角 II给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例1:输入: 3输出: [1,3,3,1]python思路:与杨辉三角的思路一致。class Solution: def getRow(self, rowIndex: int) -> List[int]: ...原创 2019-11-27 10:55:02 · 158 阅读 · 0 评论 -
leetcode ---118. 杨辉三角(数组)
118. 杨辉三角给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例1:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]python思路1:先构造[[],[],[],[]]再构造[[None],[None,N...原创 2019-11-27 10:34:51 · 162 阅读 · 0 评论 -
Leetcode ---35. 搜索插入位置 (数组)
35. 搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例3:输入: [1,3,5,6], 7输出: 4JAVA思路1:如果目标值(严格)大于排序数组的...原创 2019-11-26 15:07:56 · 133 阅读 · 0 评论 -
Leetcode ---220. 存在重复元素 III (数组)
220. 存在重复元素 IIIfloor(E e) 方法返回在这个集合中小于或者等于给定元素的最大元素,如果不存在这样的元素,返回null.ceiling(E e) 方法返回在这个集合中大于或者等于给定元素的最小元素,如果不存在这样的元素,返回null.参数:e这是要匹配的值。...原创 2019-11-25 10:28:33 · 104 阅读 · 0 评论 -
Leetcode ---219. 存在重复元素II(数组)
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示例 3:输入: nums...原创 2019-11-25 09:55:30 · 154 阅读 · 0 评论 -
Leetcode ---217. 存在重复元素(数组)
217. 存在重复元素给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。class Solution { public boolean containsDuplicate(int[] nums) { for (int i=0;i<nums.length;i...原创 2019-11-23 15:21:52 · 132 阅读 · 0 评论 -
Leetcode ---830. 较大分组的位置(数组)
830. 较大分组的位置在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 S = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。最终结果按照字典顺序输出。示例 1:输入: "abbxxxx...原创 2019-11-23 11:01:21 · 103 阅读 · 0 评论 -
Leetcode ---88. 合并两个有序数组(数组)
88. 合并两个有序数组给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。...原创 2019-11-19 15:55:59 · 92 阅读 · 0 评论 -
Leetcode ---53. 最大子序和 (数组)
53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。...原创 2019-11-18 09:33:30 · 191 阅读 · 0 评论 -
leetcode --- 27. 移除元素(数组)
27. 移除元素给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中...原创 2019-11-15 14:49:22 · 128 阅读 · 0 评论 -
Leetcode --- 933 最近的请求次数 (python 队列)
最近的请求次数原创 2019-10-22 19:53:48 · 308 阅读 · 0 评论 -
leetcode --66. 加一 (数组)
66. 加一原创 2019-11-14 10:25:24 · 179 阅读 · 1 评论 -
leetcode --- 26. 删除排序数组中的重复项(数组)
26. 删除排序数组中的重复项原创 2019-11-13 10:58:08 · 136 阅读 · 0 评论 -
leetcode ---1 两数之和(python 数组)
两数之和class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: reduce=[] dic = {} for i in range(len(nums)): reduce=target - nums[i] ...原创 2019-11-06 20:00:21 · 155 阅读 · 0 评论 -
Leetcode --- 1190 反转没对括号间的字符串 (python 栈)
反转没对括号间的字符串给出一个字符串 s(仅含有小写英文字母和括号)。原创 2019-10-22 09:47:10 · 386 阅读 · 0 评论 -
LeetCode ---- 402 移掉k位数(python 栈)
移掉k位数原创 2019-10-19 15:18:25 · 183 阅读 · 0 评论 -
Leetcode---844 比较含退格的字符串(python)
比较含退格的字符串原创 2019-10-15 15:09:47 · 221 阅读 · 0 评论 -
LeetCode----682 棒球比赛(python)
棒球比赛你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. "C"(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,...原创 2019-10-15 11:26:35 · 150 阅读 · 0 评论 -
LeetCode题的总结
思路栈在用Python写关于栈的代码时,我们明白栈是通过list创建的,所以我们可以在代码中直接用list模拟栈,而不需要先创建了栈,再用Stack.push(),pop()等等。关于dict:我们不可否认dict是一个非常强大的工具,就比如我们想找左括号的匹配,或者在列表中某个数右侧的比它大的第一个值等等,我们都可以用dict中的key-value来做。for 和while的区别:当我...原创 2019-10-14 15:39:14 · 96 阅读 · 0 评论 -
Leetcode ----- 496 下一个更大元素(python)
找下一个更大元素给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。思路一:循环两个列表,在nums2中找nums1中的数字。如果没有找到在...原创 2019-10-14 15:29:44 · 205 阅读 · 0 评论 -
Leetcode ----- 155 最小栈(python)
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。...原创 2019-10-14 10:19:54 · 216 阅读 · 0 评论 -
Leetcode ---- 20 有效的括号
给定一个括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。思路:1.首先创建一个String类型的栈实例2. 挨个检测s中的每个字符串,如果是左括号压栈,如果是空字符串输出false,如果是右字符串,取出栈顶的元素,与右字符...原创 2019-09-02 15:22:30 · 179 阅读 · 0 评论