12
返回列表 发新帖
楼主: Kimurate
跳转到指定楼层
上一主题 下一主题
收起左侧

[CareerCup] [第二轮] 3/4-3/10 CareerCup 3.2

🔗
cjsp 2013-3-10 10:33:03 | 只看该作者
全局:
回复

使用道具 举报

🔗
weixc1234 2013-3-10 21:25:16 | 只看该作者
全局:
回复

使用道具 举报

全局:
https://github.com/1094401996/Ca ... pter3/src/threedot2

method1: 用一个helper堆栈,但需要额外的空间,



method:2:不需要额外空间,但比较难以理解
有用的链接:
*  http://blog.csdn.net/yysdsyl/article/details/4283806
*  http://blog.csdn.net/ssjhust123/article/details/7752878
*  
*  
*  push(int elem)函数在栈中压入当前元素与当前栈中最小元素的差值,然后通过比较当前
*  元素与当前栈中最小元素大小,并将它们中间的较小值压入。pop()函数执行的时候,先pop
*  出栈顶的两个值,这两个值分别是当前栈中最小值min和最后压入的元素与栈中最小值的差值diff。
*  如果diff<0,则表示最后压入栈的元素是最小的元素,因此只需将min-diff压入栈中,并将min值返回即可。
*  min-diff就是当前元素弹出后,栈中剩下元素的最小值。而如果diff>=0且栈不为空,则表示当前值不是最小值,
*  所以需要在栈中压入最小值min并将diff+min返回;如果栈为空,则表示已经是最后一个数字,直接返回min即可。
*/
回复

使用道具 举报

🔗
flabby 2013-4-5 15:18:45 | 只看该作者
全局:
见过这个题
增加一个辅助栈记录当前的最小值
https://github.com/flabby/CareerCup/blob/master/3.2.cpp
回复

使用道具 举报

🔗
voiding 2013-9-9 08:17:38 | 只看该作者
全局:
用两个stack,一个存储min的值。
https://gist.github.com/mogutou1214/6489860
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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