摘要:
1.单调队列简介: 单调队列是一种数据结构,类似如单调栈,但里面的元素必须在一个区间内,如果“过时”就要出队。所以,单调队列可以在两端进行出队,但只能再队尾入队。按此性质,传统的队列已无法满足需求,需要使用双端队列,再C++的STL里,双端队列定义在deque里: #include <deque> 阅读全文
摘要:
1.单调栈简介 单调栈是一种数据结构,它里边存放的数据具有单调性,每个元素都只进栈一次,进栈时会把破坏栈的单调性的元素弹出。用代码表示就是: 1 stack <int> s;//单调栈,单调递增 2 int index;//要进栈的元素 3 while(!s.empty()&&s.top<index 阅读全文
摘要:
题目:看图 思路: 找规律,我们发现这个序列为10110101 10110101 10110101 …… 按照找到的规律,用循环数组就行了。 犯的错误: sum没清0。 收获: 变量累加之前要清0。 代码: 1 #include <iostream> 2 using namespace std; 3 阅读全文
摘要:
题目:点此 描述: 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右 阅读全文
摘要:
题目:点此。 题意描述: 任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20 同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步:7=22+2+20(21用2表示) 3=2+20 所以最后137可表示为: 2(2(2 阅读全文