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

[CareerCup] 【第三轮】6.30-7.6 CareerCup 3.1

🔗
Tsien 2014-7-7 21:18:03 | 只看该作者
全局:
//【解题思路】
//对半分,一半作为固定大小的栈,另一半作为大小可变的两个栈,其两端分别是两个栈的栈底
//当然,不一定要中点,可以根据需求分成两部分。
//【时间复杂度】
//
//【空间复杂度】
//
//【gist link】
https://gist.github.com/Tsien/66cb3eb43ad7f7e9c396
回复

使用道具 举报

全局:
【解题思路】
stack 1 grows right from left-end, stack 2 grows left from right-end, stack 3 grows right from center. move stack 3 when necessary.
【时间复杂度】
O(N) for push operation
【空间复杂度】
O(1)
【gist link】
https://gist.github.com/b9921dbc553ed0fc31d3
【test case】
intput: see code.
output:
|1 1|0 0 0 0 0 0 0 0 |3 3|0 0 0 0 0 0 |2 2 |
|1 1|0 0 0 0 0 0 0 0 |3 3 4 4 4|0 0 0 |2 2 |
|1 1|0 0 0 0 0 0 0 0 |3 3 4 4 4||5 5 5 2 2 |
|1 1|0 0 0 0 |3 3 4 4 4|0 0 0 |6 5 5 5 2 2 |
|1 1 7 7 7 7||3 3 4 4 4|0 0 0 |6 5 5 5 2 2 |
|1 1 7 7 7 7 8|0 |3 3 4 4 4|0 |6 5 5 5 2 2 |
|1 1 7 7 7 7 8|0 |3 3 4 4 4 9||6 5 5 5 2 2 |
|1 1 7 7 7 7 8||3 3 4 4 4 9 10||6 5 5 5 2 2 |
No space available!
Pop out: 8
|1 1 7 7 7 7|0 |3 3 4 4 4 9 10||6 5 5 5 2 2 |
Pop out: 6
|1 1 7 7 7 7|0 |3 3 4 4 4 9 10|0 |5 5 5 2 2 |
Pop out: 10
|1 1 7 7 7 7|0 |3 3 4 4 4 9|0 0 |5 5 5 2 2 |
|1 1 7|0 0 0 0 |3 3 4|0 0 0 0 0 0 0 0 |2 2 |
|1 1 7|0 0 0 0 |3 3 4|0 0 0 0 0 0 0 0 0 0 |
Empty stack!
Press any key to continue . . .
回复

使用道具 举报

🔗
gaohannk 2014-7-8 05:03:40 | 只看该作者
全局:
这个题目的具体要求是什么呢?我感觉很多人都没有实现只有当三个栈全满时才增加栈的大小或者提示栈溢出。比如push到第一个栈时,第一个栈满了,应该看第二个栈是不是还有空位,如果第二个栈也满了再看第三个栈。如果push到第三个栈,也应该循环检查。
回复

使用道具 举报

全局:
【解题思路】
1st stack grows from left to right
2nd stack grows from right to left
3rd stack grows from middle to both two sides
expand the arrary when collision happens among stacks

【时间复杂度】
O(1) amortized

【空间复杂度】
O(n)

【gist link】
https://gist.github.com/happyWinner/d5327096d4c7432ce330

评分

参与人数 1大米 +2 收起 理由
kimiflasky + 2 回答的很好!

查看全部评分

回复

使用道具 举报

🔗
renli3000 2014-7-13 10:43:48 | 只看该作者
全局:
本帖最后由 renli3000 于 2014-7-13 10:45 编辑

【解题思路】
trick of index with a dynamic array
index1: 3n
index2: 3n+1
index3: 3n+2

【时间复杂度】
O(1) amortized

【空间复杂度】
O(n)

【gist link】
https://gist.github.com/Noahsark/83576ab8bf400edad01c

回复

使用道具 举报

🔗
daisyang 2014-8-17 11:12:40 | 只看该作者
全局:
这题不难但是小bug太多
https://gist.github.com/daisyang/5521dd686dcb792ff86d
回复

使用道具 举报

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

本版积分规则

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