m*******e 发帖数: 1598 | 1 USCIS收到Wipro,TCS,和InfoSys的H1申请名单,有一个烙印的名字同时出现在三份名
单中,找出这个烙印的名字,名单很长且已排序。 |
y**********u 发帖数: 2839 | 2 好难啊,完全没思路啊
[在 moonshade (月影姐姐) 的大作中提到:]
:USCIS收到Wipro,TCS,和InfoSys的H1申请名单,有一个烙印的名字同时出现在三份
名单中,找出这个烙印的名字,名单很长且已排序。 |
s****y 发帖数: 27 | 3 同时遍历三个排序数组,按照从大到小顺序遍历. 记录当前名字重复出现的次数。 如
果等于3次,且下一个entry 不是当前名字,则该名字就是次烙印。
算法复杂度O(m+n+q), constant space. |
d*******n 发帖数: 43 | 4 三支针正解了
现在是follow up时间 要是有N个list 该怎么办
: 同时遍历三个排序数组,按照从大到小顺序遍历. 记录当前名字重复出现的次数
。 如
: 果等于3次,且下一个entry 不是当前名字,则该名字就是次烙印。
: 算法复杂度O(m n q), constant space.
【在 s****y 的大作中提到】 : 同时遍历三个排序数组,按照从大到小顺序遍历. 记录当前名字重复出现的次数。 如 : 果等于3次,且下一个entry 不是当前名字,则该名字就是次烙印。 : 算法复杂度O(m+n+q), constant space.
|
z*******0 发帖数: 6 | 5 假设3个list 是三个sorted data streams 做三个iterator 都开始指向第一个名字 如
果三个都相等就找到了 否则扔掉小得名字by calling next() if !hasNext() 那么名
字不存在 |
z*******0 发帖数: 6 | 6 如果n streams 就用 priorityQueue |
d*******n 发帖数: 43 | 7 完美的回答
我给你strong hire
: 如果n streams 就用 priorityQueue
【在 z*******0 的大作中提到】 : 如果n streams 就用 priorityQueue
|
z*******0 发帖数: 6 | 8 一个字 就是干
:完美的回答
:我给你strong hire
:【 在 zhoudi530() 的大作中提到: 】
:<br>: 如果n streams 就用 priorityQueue
:<br>
【在 d*******n 的大作中提到】 : 完美的回答 : 我给你strong hire : : : 如果n streams 就用 priorityQueue :
|
H**********5 发帖数: 2012 | 9 你这个去年USCIS就开始调查了。查到欺诈multiple submission空壳公司或没在公司工
作的统统作废,就算抽中了一样作废。 |
u***************r 发帖数: 11227 | 10 鯃鯃鯃鯃
list: f,g,h
pointer: i,j,k
while true:
if f[i] < g[j]:
i++
elif g[j] < h[k]:
j++
elif h[k] < f[i]:
k++
else:
break
return f[i]
【在 z*******0 的大作中提到】 : 假设3个list 是三个sorted data streams 做三个iterator 都开始指向第一个名字 如 : 果三个都相等就找到了 否则扔掉小得名字by calling next() if !hasNext() 那么名 : 字不存在
|
c****x 发帖数: 6601 | 11 Follow up:
如果烙印的名字写法多变怎么办,什么middle name时而全写,时而缩写。
【在 m*******e 的大作中提到】 : USCIS收到Wipro,TCS,和InfoSys的H1申请名单,有一个烙印的名字同时出现在三份名 : 单中,找出这个烙印的名字,名单很长且已排序。
|
z*******0 发帖数: 6 | 12 用个hashmap 把各种名字unify
:Follow up:
:如果烙印的名字写法多变怎么办,什么middle name时而全写,时而缩写。
【在 c****x 的大作中提到】 : Follow up: : 如果烙印的名字写法多变怎么办,什么middle name时而全写,时而缩写。
|
T******g 发帖数: 21328 | 13 工作了的都有SSN吧,海外空投的是麻烦点,护照号?
【在 c****x 的大作中提到】 : Follow up: : 如果烙印的名字写法多变怎么办,什么middle name时而全写,时而缩写。
|
m*******e 发帖数: 1598 | 14 n-streams
while true:
found=true
for i = 0 to n-1
this= streams[i].next()
that= streams[(i+1) % (n-1)].next()
if this < that:
found=false
break
if found:
return this
【在 d*******n 的大作中提到】 : 三支针正解了 : 现在是follow up时间 要是有N个list 该怎么办 : : : 同时遍历三个排序数组,按照从大到小顺序遍历. 记录当前名字重复出现的次数 : 。 如 : : 果等于3次,且下一个entry 不是当前名字,则该名字就是次烙印。 : : 算法复杂度O(m n q), constant space. :
|