您的位置:首页 > 移动开发 > IOS开发

uva 11111 - Generalized Matrioshkas

2014-07-07 13:05 190 查看
这道题目网上这位仁兄做的很棒,匹配过程描述的很棒,思路就是用栈去解决


大的娃娃内部可以放小的娃娃,内部娃娃的尺寸严格小于外部的;

类似于括号匹配,判断一个序列必须满足左右存在匹配,内部数值小于外部数值输出:-)

每次左右匹配时我们可以将该娃娃的大小赋值给栈内前一个娃娃,保存起来,因为前一个娃娃还未匹配,他一定是套在当前这个娃娃的外面一层。

20 6 2 -2 -6 10 -5 1 -1 5 -10 -20

第一次匹配 2 -2

stack 20 6

num 2

第二次匹配 6 -6

stack 20

num 6

第三次匹配 1 -1

stack 20 10 -5

num 6 1

第四次匹配 -5 5

stack 20 10

num 6 5

第五次匹配 10 -10

stack 20

num 16

代码如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: