查看: 2053|回复: 7
收起左侧

Microsoft : Implement a special stack

|只看干货 |刷题
头像被屏蔽

分享帖子到朋友圈
wwwyhx | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

上一篇:Google : 计算a[0]*a[1]*...*a[n-1]/a[i]
下一篇:Microsoft : 数组实现链表
Etrnls 2011-5-2 23:12:41 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (7)
 
 
0% (0)    👎
store the minimum of all elements: min(new element, old minimum) together with the new element

BTW: Mininum ---> Minimum
回复

使用道具 举报

darksteel 2011-5-3 01:42:29 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (32)
 
 
0% (0)    👎
本帖最后由 darksteel 于 2011-5-3 01:45 编辑

这题好像也在careercup上有,介绍了两种方法,ls的是一种,还有一种是维护一个最小值栈。每当进来一个新元素,如果大于最小值栈顶元素就不管,否则也压入最小值栈。pop的时候检查弹出的元素是否是最小值栈顶元素,是的话最小值栈也pop一个元素。比第一种方法略省空间。
回复

使用道具 举报

Etrnls 2011-5-3 09:47:44 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (7)
 
 
0% (0)    👎
回复 3# darksteel

那还要空间存这两个栈的元素的对应关系吧,否则插入2 1 1,最小值栈是2 1,然后弹出一个1最小值栈如果也弹出1就不对了
回复

使用道具 举报

darksteel 2011-5-3 10:38:26 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (32)
 
 
0% (0)    👎
回复 4# Etrnls
只有大于不管,小于等于都会插入,所以2,1,1对应的最小值栈是2,1,1
回复

使用道具 举报

Etrnls 2011-5-3 13:30:00 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (7)
 
 
0% (0)    👎
回复 5# darksteel


    对哦~ 偶错了@@
回复

使用道具 举报

xyqshi 2012-10-9 02:59:30 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (1)
 
 
0% (0)    👎
darksteel 发表于 2011-5-3 01:42
这题好像也在careercup上有,介绍了两种方法,ls的是一种,还有一种是维护一个最小值栈。每当进来一个新元素 ...

我想知道如果最小值栈pop完所有element的话再pop怎么办?是不是要遍历现在栈内所有element然后重新push进最小值栈?
i.e. push 3,2,1,4,现在栈里有4个element但是最小值栈里只有3个,pop出去3个之后怎么办?
回复

使用道具 举报

285845348 2012-10-9 03:34:08 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   85% (6)
 
 
14% (1)    👎
Etrnls 发表于 2011-5-2 08:12
store the minimum of all elements: min(new element, old minimum) together with the new element

BT ...

这个办法好像有点问题,不能跟踪Min的变化,pop()出Min后就乱了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

>
快速回复 返回顶部 返回列表