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

求助 Cracking the coding interview 5th ed, 11.8

全局:

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

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

x
本人只会C++,数据结构和算法课都用的C++,java没用过,这道题我的做法是建一个set<int>, 然后每来一个int就insert, 然后需要返回rank的话就set<int>::iterator itr=setCase.find(data) 再itr--,直到begin, 求出rank(), 但却是有些inefficient, 因为要traverse 这个data structure whenever getRank is needed.
解答的做法不是很懂。 能有地里大神给我解释一下,或者提供给我C++的code或者code source吗?
谢谢

上一篇:三道coding challenge from hired.com (Hill,Deviation ,Maximum Difference)
下一篇:为什么bucket sort的space complexity是O(kn)
🔗
lzsilica 2014-1-15 13:08:13 | 只看该作者
全局:
CC的做法是建立并维护一个二叉树。
为避免所有节点都遍历, 在每个节点设置一个统计信息的变量。
我刚才写了一下C++的版本 (我多设置了一个变量统计right subtree,不过没有必要,实际可以删去)

http://westpavilion.blogspot.com/2014/01/cracking-coding-interview-chapter-1108.html
回复

使用道具 举报

🔗
纠结帝 2014-1-16 00:43:12 | 只看该作者
回复

使用道具 举报

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

本版积分规则

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