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