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

[找工就业] 求问Twitter online coding test

🔗
ivanlw 2014-3-8 07:11:24 | 只看该作者
全局:
adlxk 发表于 2014-1-10 01:01
Twitter也没说不能透题,就直接贴题目吧,两道题60min,都不难。Codility提供的demo做完会生成一个score re ...

请问第二题的思路是什么呢?
回复

使用道具 举报

🔗
dhtim135 2014-3-11 13:37:20 | 只看该作者
全局:
真的可以自己加自己么。。。
那要是数组的那些数全都是K/2怎么办,,,?
回复

使用道具 举报

🔗
ammpet2837 2014-3-27 02:36:21 | 只看该作者
全局:
lastquarter 发表于 2014-2-6 03:05
谢谢!已经面完了!不过好像不太一样。但是还是谢谢·~

麻烦能透露一下面经吗? 我也收到了信 说要提前做那个题目
回复

使用道具 举报

🔗
pc1000a 2014-6-8 06:13:50 | 只看该作者
全局:
ivanlw 发表于 2014-3-7 18:11 ..
请问第二题的思路是什么呢?

觉得可以用java的TreeMap<K, V>(Java里面TreeMap实现基于Red-Black Tree),或者其他语言的BST结构,每个Node都是个<K, V> entry, K是数组里的这个element,V是这个element出现的次数。

先把所有element和出现次数存到Map里面。

然后iterate through这个Map:. 1point 3 acres
int cnt = 0;
for (int each : map.keySet()) {
        if (map.containsKey(K - each)) {                               
                cnt += map.get(each) * map.get(K - each);
        }
}
return cnt;

这就行了。。
. 1point3acres
因为是java TreeMap基于BST的实现,所以基本操作时间都是O(lgn),所以总的时间是O(n * lgn);
空间的话,题目说space worst case O(n),而用BST结构没有额外空间消耗,所以空间也是O(n),符合要求(Hash等结构的map不能用,因为Hash结构有额外空间消耗,而且比较大,肯定不是O(n))。

但是问题在于,不知道java Collections里面,TreeMap虽然理论上空间消耗,基于BST/RBT,是O(n),但不知道java语言实现细节方面,会不会有其他消耗,会不会空间就能达到O(n)。。。

所以,有人知道不用容器或者其他什么数据结构,就用数组操作,时间O(nlgn),空间O(n)的方法吗???
回复

使用道具 举报

🔗
writecoffee1 2014-6-24 10:09:20 | 只看该作者
全局:
pc1000a 发表于 2014-6-8 06:13
觉得可以用java的TreeMap(Java里面TreeMap实现基于Red-Black Tree),或者其他语言的BST结构,每个Node都 ...

可以先sort一遍然后two pointers 一左一右往中间靠.. 1point3acres.com

因为java里Arrays用的是merge sort, O(n log n) for sorting, O(n) for extra space
回复

使用道具 举报

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

本版积分规则

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