查看: 1267| 回复: 4
跳转到指定楼层
上一主题 下一主题
收起左侧

[CareerCup] 【第三轮】8.3-8.9 CareerCup 9.6

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
9.6 Implement an algorithm to print all valid (i.e., properly opened and closed) combinations of n-pairs of parentheses.


回复解法可以按照以下格式来



【解题思路】
【时间复杂度】
【空间复杂度】
【gist link】
---------------OPTional,如果觉得test case比较好,欢迎写出来分享----------------------
【test case】


上一篇:【第三轮】8.3-8.9 CareerCup 9.5
下一篇:【第三轮】8.3-8.9 CareerCup 9.7
全局:
本帖最后由 ivycheung1208 于 2014-8-7 10:07 编辑

【解题思路】
keep track of the number of left and right parentheses allowed.
both are zero: add to the result list
leftCap != 0: add a ( and recurse
rightCap > leftCap: add a ) and recurse
【时间复杂度】
O(2^2N) 2 recursive call for 2N layers
【空间复杂度】
O(2^2N)
【gist link】
https://gist.github.com/54f351172827af15c037

补充内容 (2014-8-10 22:00):
number of valid combinations: catalan number!
回复

使用道具 举报

全局:
【解题思路】
if possible, add a left parenthese and then recurse
if possible, add a right parenthese and then recurse



【时间复杂度】
O(2^n)


【空间复杂度】
O(2^n)


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




回复

使用道具 举报

🔗
grassgigi 2014-8-17 05:09:12 | 只看该作者
全局:
【解题思路】
Recursion, with the check that number of available right parentheses should always be more than that of left parentheses

【时间复杂度】
O(2^N)

【空间复杂度】
O(2^N) for recursion stack only

【gist link】
https://gist.github.com/chrislukkk/b501cb96f9006170bc86
回复

使用道具 举报

🔗
bitcpf 2014-9-20 23:34:23 | 只看该作者
全局:
【解题思路】Recursion, if left has not been used up, insert (, then if left < right, insert )
【时间复杂度】
O(2^N)
【空间复杂度】
O(2^N)
【gist link】
https://gist.github.com/bitcpf/6bc2a883bd1c3df500ea
回复

使用道具 举报

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

本版积分规则

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