Chinaunix首页 | 论坛 | 博客 登录 | 注册
  • 博客访问: 79908
  • 博文数量: 20
  • 博客积分: 1540
  • 博客等级: 上尉
  • 技术积分: 235
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-02 14:09
文章分类

全部博文(20)

文章存档

2011年(15)

2010年(5)

我的朋友

分类: C/C++

2011-09-05 20:05:21

编程题:给定一个入栈序列,判断一个出栈序列是否合法。比如入栈序列是12345,54321是合法的出栈序列之一。
感觉是栈的特殊性,一旦进栈后栈内数字出栈的顺序就定了,所以出栈序列中后面的数如果比前面的小的话,必须按顺序排列
线性时间的话,就是从头扫描出栈序列,记录出现的最大值,如过后面的值比他小则必须是递减序列,如果比他大则更新最大值,继续扫描,扫描一遍即可,
阅读(1740) | 评论(0) | 转发(0) |
0

上一篇:vim 设置自动对齐

下一篇:人口比例问题

给主人留下些什么吧!~~