数据结构-链表
文章平均质量分 82
miss_minor
坚持,请你坚持
展开
-
127 - "Accordian" Patience
题目:127 - "Accordian" Patience题目大意:给52张牌,要求从左到右判断第i张牌和第i- 3,或是 i- 1 是否存在数字或是花色相同的话(先考虑i- 3),相同就将这张牌移到相同的那张牌的位置,每个位置不一定只有一张牌,但只有最上面的牌可以移动。解题思路:为了保证只有最上面的牌可以移动用到栈,为了让后面的牌移动到前面没有牌的位置,用到链表。 先判断第i-原创 2014-01-24 18:12:52 · 633 阅读 · 0 评论 -
101 - The Blocks Problem
题目:101 - The Blocks Problem题目大意:就是给出一排积木,根据一下的操作堆出要求的积木。move a onto b的意思是:把a和b上的积木归位后,再将a放在b上。move a over b的意思是:把a上的积木归位,再把a放在b的最上方。pile a onto b的意思是:把b上的积木归位,再将a和a上的积木作为一个整体一并移到b上。pile原创 2014-01-27 18:48:31 · 612 阅读 · 0 评论 -
540 - Team Queue
题目:540 - Team Queue题目大意:就是模拟一个排队,如果在队列中找到同一组的就接在同一个组的元素的后面,在队列中没有找到相同的组的元素纠结在队伍的最后面。解题思路:给一个数组来模拟队列,这个数组里的每个元素里都有一个子队列,还有这个子队列所属的类别。 给两个元素指向头和尾,构建循环队列。N是队列的最大长度。 进队时,就在对首和对尾间找,找到相原创 2014-01-26 21:35:28 · 641 阅读 · 0 评论 -
673 - Parentheses Balance
题目:673 - Parentheses Balance题目大意:就是判断所给的式子是否符合要求:就是给的字符串是否括号匹配,注意空字符串也是匹配的。解题思路:用一个栈来保存‘(’ 和' [', 当遇到')'和‘]’就出栈,如果出栈不成功就说明不匹配。最后如果栈不为空的话,也是不匹配。然后因为字符串为空也要考虑,输入的方式就要改变,这里是一个字符一个字符的判断。原创 2014-01-26 15:30:34 · 659 阅读 · 0 评论 -
10152 - ShellSort
题目:10152 - ShellSort题目大意:将给出的一个序列使用最少的操作将这个序列变成指定的序列。操作:每次只能把取出来的东西放到最顶上。解题思路:只需要知道要移动那些东西,和移动的次序就可以了,并不需要真实的移动。看这个是否需要移动,就看这个的位置是否在指定的位置上,从底下开始判断,发现不是指定的位置说明要移动。就看它是在指定位置的哪,越下面就说明要越早移到顶上,原创 2014-01-26 15:01:05 · 575 阅读 · 0 评论 -
11234 - Expressions
题目:11234 - Expressions题目大意:就是将后缀表达式转换成层次遍历的逆向输出。解题思路:1,将后缀表达式利用栈建树,当遇到是小写字母时,建立叶子节点,遇到大写字母时,从栈中在弹出两个数,建立以大写字母为根的树。再将这个根节点放到栈中。2,树建完后,就利用队列,进行层次遍历,最后在逆序输出。#include#include#include#原创 2014-01-25 14:57:43 · 634 阅读 · 0 评论 -
442 - Matrix Chain Multiplication
题目:442 - Matrix Chain Multiplication题目大意:求矩阵相乘需要的加法步数。解题思路:将给出的式子,一个一个字符的放到栈中,当遇到右括号,就从栈中退出两个矩阵,和一个左括号。判断这两个举阵能不能相乘,(前一个的列等于后一个的行)再将这个矩阵入栈,之后遇到右括号再出栈,一直到式子末尾就结束。最后要将栈清空,为了下一次计算做准备。还要注意特殊情况:就原创 2014-01-24 20:55:41 · 636 阅读 · 0 评论 -
133 - The Dole Queue
题目:133 - The Dole Queue题目大意:N个数组成的环,然后分别逆时针的走K个,顺时针的走m个,选中的数就剔除,不在下次走的范围内。打印出提出的顺序。解题思路:用数组摸拟。每次走都 p2= (p2 - 1 + n) % n,防止 减到负数。#include#includeconst int N = 25;int n, k, m;bool s[N原创 2014-01-25 20:47:45 · 611 阅读 · 0 评论 -
11111 - Generalized Matrioshkas
题目:11111 - Generalized Matrioshkas题目大意:判断给的一个序列是否满足下列的要求:1,是否匹配,例如(-1, 1, 1, 1), (-1)这样不匹配。2,是否能满足负数先与对应的正数输出,例如(1, -1, 1, -1)这样错误。3,是否满足将要进栈的数大于栈顶元素。例如(-1, -2, 2,1)这样错误。4,判断子序列中的孩子相加小于这原创 2014-01-25 18:09:55 · 619 阅读 · 0 评论 -
10050 - Hartals
题目:10050 - Hartals题目大意:给出每个联盟的罢工周期,给出要计算的天数,求总共罢工多少天,星期五,六为休息日。解题思路:每一个都做一个标志,看有没有罢工,最后查找一下除了星期五六,有多少天罢工。#include#includeconst int N = 3655;int t, n, p, s[N], c[N];int main() {原创 2014-01-24 21:43:12 · 636 阅读 · 0 评论 -
UVA - 11988Broken Keyboard (a.k.a. Beiju Text)(链表)
题目: UVA - 11988Broken Keyboard (a.k.a. Beiju Text)(链表)题目大意:某位程序员在用坏掉的键盘打字,这个键盘的home键和end键会是不是自己打印。然后现在给出这样的一串文字,要求你打印出之后会在屏幕上显示的字符串。解题思路:home键是跳到这一行的开头开始打印,end键是跳到这一行的末尾开始打印。用一个链表将home和end原创 2014-09-10 09:42:14 · 933 阅读 · 0 评论