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

[找工就业] amazon two sum with duplicates

全局:

2015(1-3月)-CS硕士+3个月-1年 | 网上海投| 码农类General实习@amazon

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

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

x
请教筒子们,那个Amazon 的经典two sum with all pairs 的题目(preserve duplicate pairs) 应该怎么处理?  比如说{1, 2, 2, 3}, target = 5, 他要{(2,3), (2, 3)} 怎么办? ..
我目前只想到hashmap 的方法,就是一个hashmap 存数字,和对应出现的个数, 再用一个array 来存distinct elements. Sort 这个aux array, 根据two pointer 来找到符合sum = target 的pair, 然后再把这个pair添加m*n 次(m 是 element A出现的次数, n是element B出现的次数)

请问这个思路对吗? 还有没有别的方法?

P.S. Amazon的phone interview 约定时间过了一个小时,recruiter 打电话说改在下午4点, 所以再来抱抱佛脚。

上一篇:急问:究竟是等google还是从了高盛
下一篇:请问EPIC家门槛多高?刚resume被拒了好伤心……
推荐
davidwong 2017-3-16 11:24:28 | 只看该作者
全局:
抱歉 发了个无用贴。 如果是如下情况 至少要O(N^2): {1, 1, 1, 1, 1} target=2.
回复

使用道具 举报

🔗
kurtwang 2015-3-6 02:40:28 | 只看该作者
全局:
先过一遍,hashmap存<key,value>-><2,[1,2]>对应index
回复

使用道具 举报

🔗
 楼主| liudaisuda 2015-3-6 02:43:59 | 只看该作者
全局:
kurtwang 发表于 2015-3-6 02:40
先过一遍,hashmap存->对应index

然后是再过一遍array, 搜索target-array[i]是否在map中?
回复

使用道具 举报

🔗
kurtwang 2015-3-6 02:52:24 | 只看该作者
全局:
liudaisuda 发表于 2015-3-6 02:43.
然后是再过一遍array, 搜索target-array是否在map中?

是的。。或者过一遍map也可以,把算过的记录到set里,不过其实care duplicate的话最差就是n^2了。。
回复

使用道具 举报

🔗
timpark4 2015-3-6 03:59:14 | 只看该作者
全局:
感觉用个hashmap就行了吧 key 是每个element,value 是每个元素的个数。然后历遍这个hashmap 输出所有的组合?
回复

使用道具 举报

🔗
 楼主| liudaisuda 2015-3-6 04:09:59 | 只看该作者
全局:
timpark4 发表于 2015-3-6 03:59
感觉用个hashmap就行了吧 key 是每个element,value 是每个元素的个数。然后历遍这个hashmap 输出所有的组合 ...
.--
嗯,如果要求数值的话,只要存个数就可以。
回复

使用道具 举报

🔗
davidwong 2017-3-16 11:23:42 | 只看该作者
全局:
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!. ----

想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南
回复

使用道具 举报

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

本版积分规则

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