LeeCode刷题
cirol1997
这个作者很懒,什么都没留下…
展开
-
背包问题--Leecode
377.组合总和 Ⅳ给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。这题我一看就是背...原创 2020-03-11 15:07:01 · 237 阅读 · 0 评论 -
354. 俄罗斯套娃信封问题--Leecode刷题(关于最长递增子序列)
给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]输出:...原创 2020-03-03 13:50:54 · 202 阅读 · 0 评论 -
324. 摆动排序 II
给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]… 的顺序。示例 1:输入: nums = [1, 5, 1, 1, 6, 4]输出: 一个可能的答案是 [1, 4, 1, 5, 1, 6]示例 2:输入: nums = [1, 3, 2, 2, 3, 1]输出: 一个可能的答案是 [2, ...原创 2020-01-15 16:47:13 · 149 阅读 · 0 评论 -
316. 去除重复字母
给定一个仅包含小写字母的字符串,去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入: “bcabc”输出: “abc”示例 2:输入: “cbacdcbc”输出: “acdb”分析:这道题就是,第一去重复,第二就是选择最小的字符串。去重复倒是不难,主要是如何选择最小的字符串?首先,有几点要明确:...原创 2019-12-31 13:02:58 · 282 阅读 · 0 评论 -
线段树---初识
之前翻帖子有大概的听过这样一种数据结构,今天刚好刷题遇到了,记录一下自己写的吧!(没有加懒惰标记!!!)class NumArray {public: int tree[100000] = {0}; int n = 0; void buildTree(vector<int> &num,int l,int r,int rt){ if(...原创 2019-12-19 14:58:06 · 102 阅读 · 0 评论 -
301. 删除无效的括号--Leecode刷题
刷了一个困难题,一如既往做不出来,然后看题解,然后再自己打一遍…记录这个题的原因是,这其实是一类题目!!!先看看题目再分析。题目描述:删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。说明: 输入可能包含了除 ( 和 ) 以外的字符。示例 1:输入: “()())()”输出: ["()()()", “(())()”]示例 2:输入: “(a)())()”输出...原创 2019-12-17 09:48:29 · 156 阅读 · 0 评论 -
5286. 网格中的最短路径--Leecode刷题
周赛的时候的题目:每次周赛基本上第四道题都做不出来,除了感慨自己菜以外,还会感叹那些做的很快的大佬,是真的很厉害了!!!题目描述:给你一个 m * n 的网格,其中每个单元格不是 0(空)就是 1(障碍物)。每一步,您都可以在空白单元格中上、下、左、右移动。如果您 最多 可以消除 k 个障碍物,请找出从左上角 (0, 0) 到右下角 (m-1, n-1) 的最短路径,并返回通过该路径所需的步...原创 2019-12-16 11:24:44 · 603 阅读 · 0 评论 -
300. 最长上升子序列--LeeCode刷题(误用单调栈,反思)
心情:哇!最近刷题越来越不顺心了,这道题不难吧!但是却花了很长时间…题目描述:给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。自己的想法:我看到这道题首先理解题目的意思:在当前位置的前面,有多少数比当前数字小,且这些小的数字逐渐递增,而我想...原创 2019-12-12 11:47:29 · 561 阅读 · 0 评论 -
堆结构的应用--Leecode刷题
我记得以前做题就经常碰到堆,但是也没有记录过什么,今天决定记录一下堆的应用!1.找中位数295. 数据流的中位数中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整...原创 2019-12-10 10:42:41 · 172 阅读 · 0 评论 -
弗洛伊德的乌龟和兔子--leecode刷题
乌龟和兔子的算法我记得最早是用在判断链表是否有循环,但是实际上今天做了一道题之后,可以总结为,判断一些循环的情况,都可以用这个方法,首先看看题目287. 寻找重复数给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2...原创 2019-12-09 11:09:33 · 426 阅读 · 0 评论 -
209. 长度最小的子数组(滑动窗口+双指针)--------C++
心情:最近刷题也没什么见长。。。。这次我不是想讲题目,而是发现了一个新的求题的方法,滑动窗口+双指针题目描述209题链接这题解题思路:方法一:暴力应该都能想到(不过居然没超时!!!)方法二:就是滑动窗口+双指针了求解过程:1.两个指针 left 和 right 表示子集范围,sum 为子集的和,都从 left = 0 和 right = 0 开始滑动 。2.从 0 开始考虑,当...原创 2019-11-15 14:36:33 · 111 阅读 · 0 评论 -
907. 子数组的最小值之和(单调栈)
心情:每次写说明心态肯定是崩的、、、、关于单调栈的解释,这个博主讲的很好单调栈我这里只想记录一下,能用到单调栈的情况:比如这题,还有求最小图形的,这些题都有个特点,就是连续,且求最值。其实这种题目最原始的想法,就是找以当前点为中心满足条件的一个范围,意思就是在当前节点的基础上,往左和往右循环,找出能延展的最大范围,但这样做往往会超时,于是就有了单调栈。单调栈是一种结构,其实这个结构很好理...原创 2019-11-04 15:35:29 · 176 阅读 · 0 评论 -
126. 单词接龙 II(C++)
心情:最近打代码也是非常不在状态啊!花了差不多半天的时间写这道题。题目描述:给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回一个空列表。所有单词具有相...原创 2019-10-16 19:00:56 · 788 阅读 · 0 评论 -
123. 买卖股票的最佳时机 III
心情:心情复杂,做了好久啊!!!题目描述给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票...原创 2019-10-15 16:43:23 · 125 阅读 · 0 评论 -
LeeCode刷题:45. 跳跃游戏 II(C++)
心情:这是我第一次正儿八经的遇到贪婪算法!题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置...原创 2019-09-09 13:34:14 · 246 阅读 · 0 评论 -
LeetCode刷题:30.串联所有单词的子串(C++)
心情:想扁人,这道题花了我一下午的时间,时间主要花在:第一,没把题目的各种情况考虑周全;第二,由于之前一直在用C语言编程,对C++的STL忘记了,重新大致的复习了一遍。心情复杂,虽然做出来了,但是效率不高,有待优化,先记录一下大致思路。题目描述:给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。注意子串要与 w...原创 2019-08-15 18:05:08 · 323 阅读 · 0 评论