摘要:思路:和逆波兰式相似,首先开两个栈,一个保存数字,一个保存字符,当遇到[的时候,首先将数字入栈,再将数字前边的字符入栈,然后在利用一个字符串保存[ ]中的字符,直到遇到 ] 首先是对[ ] 进行翻倍,然后再和字符栈的栈顶元素叠加倍数次.... code: class Solution { publi
阅读全文
随笔分类 - 数据结构---STL 栈和队列
摘要:思路:和逆波兰式相似,首先开两个栈,一个保存数字,一个保存字符,当遇到[的时候,首先将数字入栈,再将数字前边的字符入栈,然后在利用一个字符串保存[ ]中的字符,直到遇到 ] 首先是对[ ] 进行翻倍,然后再和字符栈的栈顶元素叠加倍数次.... code: class Solution { publi
阅读全文
摘要:题目大意: n个数字,找出其中至少出现(n+1)/2次的数字,并且保证n是奇数. 题解:这道题数组是不能用的,因为题目没有明确输入的数据范围,比如输入了一个1e9,数组肯定开不了这么大。所以要用map来记录每个数字出现的次数,边输入边记录,然后找到满足题意的数即可。 code: #include<b
阅读全文
摘要:两种思路: 1 单调栈:维护一个单调非递减栈,当栈为空或者当前元素大于等于栈顶元素时就入栈,当前元素小于栈顶元素时就出栈,出栈的同时计算当前值,当前值所包含的区间范围为从当前栈顶元素到当前元素i的距离加上栈顶元素到第二个栈顶元素的距离。 code: #include<bits/stdc++.h> u
阅读全文
摘要:一、概念 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。如果这组数有n个,那么全排列数为n!个。 比如a,b,c的全排列一共有3!= 6 种 分别是{a, b, c}、{a, c, b}、{b, a, c
阅读全文
摘要:1在使用STL时,由于解题的需要我们常常将结构体嵌入到字典或者集合中,,如果我们这样写: struct stu{ int a; int b; }; mp<stu,int >mp; 在编译的时候会报错,,因为map和set会对STL中的元素排序,如果说直接嵌入的话,, 会使map无法对key进行排序,
阅读全文
摘要:STL的迭代器听起来怪吓人的,其实并不是什么高深的东西,说白了就是定义了一个指向STL的指针。、 对于没个STIL都可以定义 set,,vector ,,map,,,string 定义: set<int >::iterator it;(以set与int为例) 可以用于遍历set中的元素 比如 这样就
阅读全文
摘要:给出N个数,要求把其中重复的去掉,只保留第一次出现的数。 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4。 Input 输入第一行为正整数T,表示有T组数据。 接下来每组数据包括两行,第一行为正整数N,表示有N个数。
阅读全文
摘要:There is a famous railway station in PopPush City. Country there is incredibly hilly. The station was built in last century. Unfortunately, funds were
阅读全文
摘要:As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want to get back to school by train(because the trains in th
阅读全文
|