
C++
文章平均质量分 59
cirol1997
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试之快速学习c++11-函数模版的默认模版参数,可变模版,tuple
/学习地址: http://c.biancheng.net/view/3730.html。原创 2023-08-05 18:05:33 · 524 阅读 · 0 评论 -
背包问题--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 · 266 阅读 · 0 评论 -
354. 俄罗斯套娃信封问题--Leecode刷题(关于最长递增子序列)
给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。 说明: 不允许旋转信封。 示例: 输入: envelopes = [[5,4],[6,4],[6,7],[2,3]] 输出:...原创 2020-03-03 13:50:54 · 235 阅读 · 0 评论 -
347.前K个高频元素(Leecode刷题)
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 这题的思路是: 1.首先要统计每个数字的次数,unordered_map当仁不让。 2.我们要选出前K大,很熟悉,priority_queue可以。 思路很简单,但...原创 2020-03-01 15:09:51 · 241 阅读 · 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 · 182 阅读 · 0 评论 -
316. 去除重复字母
给定一个仅包含小写字母的字符串,去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例 1: 输入: “bcabc” 输出: “abc” 示例 2: 输入: “cbacdcbc” 输出: “acdb” 分析: 这道题就是,第一去重复,第二就是选择最小的字符串。 去重复倒是不难,主要是如何选择最小的字符串? 首先,有几点要明确: ...原创 2019-12-31 13:02:58 · 314 阅读 · 0 评论 -
动态规划大法--Leecode刷题
心情:一如既往,只要困难就凉凉… 题目描述: 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left...原创 2019-12-24 13:40:33 · 262 阅读 · 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 · 123 阅读 · 0 评论 -
301. 删除无效的括号--Leecode刷题
刷了一个困难题,一如既往做不出来,然后看题解,然后再自己打一遍…记录这个题的原因是,这其实是一类题目!!!先看看题目再分析。 题目描述: 删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。 说明: 输入可能包含了除 ( 和 ) 以外的字符。 示例 1: 输入: “()())()” 输出: ["()()()", “(())()”] 示例 2: 输入: “(a)())()” 输出...原创 2019-12-17 09:48:29 · 197 阅读 · 0 评论 -
5286. 网格中的最短路径--Leecode刷题
周赛的时候的题目:每次周赛基本上第四道题都做不出来,除了感慨自己菜以外,还会感叹那些做的很快的大佬,是真的很厉害了!!! 题目描述: 给你一个 m * n 的网格,其中每个单元格不是 0(空)就是 1(障碍物)。每一步,您都可以在空白单元格中上、下、左、右移动。 如果您 最多 可以消除 k 个障碍物,请找出从左上角 (0, 0) 到右下角 (m-1, n-1) 的最短路径,并返回通过该路径所需的步...原创 2019-12-16 11:24:44 · 673 阅读 · 0 评论 -
300. 最长上升子序列--LeeCode刷题(误用单调栈,反思)
心情:哇!最近刷题越来越不顺心了,这道题不难吧!但是却花了很长时间… 题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 自己的想法: 我看到这道题首先理解题目的意思:在当前位置的前面,有多少数比当前数字小,且这些小的数字逐渐递增,而我想...原创 2019-12-12 11:47:29 · 614 阅读 · 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 · 224 阅读 · 0 评论 -
分治大法 -- 刷题总结
分治法 最近刷体的兴趣越来越不浓厚,有的时候知道怎么写可就是不相信自己,也不愿意去动手!!!比如分治法,我真的不喜欢递归,递来递去我就晕了… 241. 为运算表达式设计优先级 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。 示例 1: 输入: “2-1-1” 输出: [0, 2]...原创 2019-12-03 15:52:12 · 292 阅读 · 0 评论 -
209. 长度最小的子数组(滑动窗口+双指针)--------C++
心情:最近刷题也没什么见长。。。。 这次我不是想讲题目,而是发现了一个新的求题的方法, 滑动窗口+双指针 题目描述209题链接 这题解题思路: 方法一:暴力 应该都能想到(不过居然没超时!!!) 方法二:就是滑动窗口+双指针了 求解过程: 1.两个指针 left 和 right 表示子集范围,sum 为子集的和,都从 left = 0 和 right = 0 开始滑动 。 2.从 0 开始考虑,当...原创 2019-11-15 14:36:33 · 143 阅读 · 0 评论 -
907. 子数组的最小值之和(单调栈)
心情:每次写说明心态肯定是崩的、、、、 关于单调栈的解释,这个博主讲的很好单调栈 我这里只想记录一下,能用到单调栈的情况: 比如这题,还有求最小图形的,这些题都有个特点,就是连续,且求最值。 其实这种题目最原始的想法,就是找以当前点为中心满足条件的一个范围,意思就是在当前节点的基础上,往左和往右循环,找出能延展的最大范围,但这样做往往会超时,于是就有了单调栈。 单调栈是一种结构,其实这个结构很好理...原创 2019-11-04 15:35:29 · 214 阅读 · 0 评论 -
126. 单词接龙 II(C++)
心情:最近打代码也是非常不在状态啊!花了差不多半天的时间写这道题。 题目描述: 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。 说明: 如果不存在这样的转换序列,返回一个空列表。 所有单词具有相...原创 2019-10-16 19:00:56 · 875 阅读 · 0 评论 -
二叉树由前序,中序遍历输出后序遍历(纯代码,自己写的和网上搜的标准的写法)
心情: 这几天又颓了几天,又开始追剧。。。果然我还是那么没有自制力,慢慢改。。。 关于这个二叉树典型的算法,我其实一直没看过什么标准答案,我都是自己写的,比如今天的: #include<string> #include<iostream> using namespace std; typedef struct TreeNode{ char c; str...原创 2019-01-10 14:07:12 · 1485 阅读 · 0 评论 -
编程的时候遇到的一些小细节问题(记录)
1.for循环中的条件语句如果有多个,同时成立要加&&,否则默认是||原创 2019-09-12 11:28:49 · 166 阅读 · 0 评论