由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 探讨加请教:我工作中的一道题
相关主题
一道面试题,请大家给些意见问个常见算法题的变形
[Google算法题] reconstruct sectorA公司面挂了,发面经,攒RP
同学今天面AMAZON到一个题目不会 问我。我来这问一下求高手解答cs 面试题?
大文件去重复,有什么好办法么弱弱的问问intersection, union of two arrays or two sets ?
发个我总结的unix常用命令急只有几个小时时间, 如何快速复习基本数据结构和算法
如果python command line positional arguments 里有些是运算Amazon 电面面经
一个linux简单面试题bb家电面
这个题怎么做啊?三星面经
相关话题的讨论汇总
话题: 域名话题: 文件话题: grep话题: 每行话题: hashtable
进入JobHunting版参与讨论
1 (共1页)
b***m
发帖数: 5987
1
有两个纯文本文件,其中一个较大,大约上万行,每行是一个具体的域名,比如bjhmm.
seattle.washington.usa。另外一个较小,大约一千多行,每行是一个大域名,比如
washington.usa。现在想找到一个较快的算法,迅速判断小文件中的大域名清单是否能
涵盖大文件中的所有域名。我目前想到的是用后缀树或者前缀树,大家有什么好办法?
p*****2
发帖数: 21240
2
hashtable就可以了

【在 b***m 的大作中提到】
: 有两个纯文本文件,其中一个较大,大约上万行,每行是一个具体的域名,比如bjhmm.
: seattle.washington.usa。另外一个较小,大约一千多行,每行是一个大域名,比如
: washington.usa。现在想找到一个较快的算法,迅速判断小文件中的大域名清单是否能
: 涵盖大文件中的所有域名。我目前想到的是用后缀树或者前缀树,大家有什么好办法?

w****x
发帖数: 2483
3

bjhmm.
这不需要树结构的吧....

【在 b***m 的大作中提到】
: 有两个纯文本文件,其中一个较大,大约上万行,每行是一个具体的域名,比如bjhmm.
: seattle.washington.usa。另外一个较小,大约一千多行,每行是一个大域名,比如
: washington.usa。现在想找到一个较快的算法,迅速判断小文件中的大域名清单是否能
: 涵盖大文件中的所有域名。我目前想到的是用后缀树或者前缀树,大家有什么好办法?

r*******n
发帖数: 3020
4
我觉得楼上的是正解啊

【在 w****x 的大作中提到】
:
: bjhmm.
: 这不需要树结构的吧....

b***m
发帖数: 5987
5

具体说说?每个具体域名只是域名清单中某个具体大域名的一部分啊。

【在 p*****2 的大作中提到】
: hashtable就可以了
t****a
发帖数: 1212
e****e
发帖数: 418
7
hashtable这里不好使吧, 原因好猫已经说了.
我觉得从小文件里建个tree.具体如下:
1. 对小文件里的每行的域名double reverse(老题...),
i.e. washington.usa -> usa.washington
2. 再建立prefix tree.
i.e (root)
|
|
usa
/ \
/ \
oregon washington
3. 遍历大文件里的域名, double reverse 之后和比较.
优化:
prefix tree只需要建立第一层就可以了. 至此,我觉得hashtable更好!
其实是个hashset,里面放小文件里域名反转之后的第一级域名.
i.e.
usa
china
canada
然后遍历大文件, 看hashset包含反转域名之后第一级域名.
i.e.
bjhmm.seattle.washington.usa --> usa.washington.seattle.bjhmm
hashset包含usa, 继续下一行, 不包含,返回false.
继续优化:
不搞double reverse,直接用正则表达式扣出来一级域名,也就是最后一个逗号之后的那
个东西---一级域名.
e****e
发帖数: 418
8
这里grep -f 没法直接用吧.
"Finally, -f allows you to specify a file containing the search string, one
instance where this could be useful is if one had a complex search string
that one may not want to type over and over again."
Please refer for details http://www.uccs.edu/~ahitchco/grep/

utf-

【在 t****a 的大作中提到】
: 数据不大,犯不着自己造轮子了吧。自己造轮子是大忌。
: file1:
: http://www.mitbbs.com/article_t/JobHunting/32314419.html
: http://www.mitbbs.com/bbsdoc/JobHunting.html
: https://mail.google.com/mail/
: https://console.aws.amazon.com/datapipeline/home
: http://dagama.aka.amazon.com/research/kindleads/diary.html
: https://www.google.com/search?client=ubuntu&channel=fs&q=prematurely&ie=utf-
: 8&oe=utf-8
: file2:

t****a
发帖数: 1212
9
为啥不能用呢,我试了下可以,哪里不对》

one

【在 e****e 的大作中提到】
: 这里grep -f 没法直接用吧.
: "Finally, -f allows you to specify a file containing the search string, one
: instance where this could be useful is if one had a complex search string
: that one may not want to type over and over again."
: Please refer for details http://www.uccs.edu/~ahitchco/grep/
:
: utf-

l*******b
发帖数: 2586
10
grep是找match的条目, 找不match得加个步骤吧
查了下,好像是 -v

【在 t****a 的大作中提到】
: 为啥不能用呢,我试了下可以,哪里不对》
:
: one

相关主题
如果python command line positional arguments 里有些是运算问个常见算法题的变形
一个linux简单面试题A公司面挂了,发面经,攒RP
这个题怎么做啊?求高手解答cs 面试题?
进入JobHunting版参与讨论
e****e
发帖数: 418
11
我手头上没*nix有环境,我是根据grep文档, 链接已给出. 我以为grep是把小文件的所
有内容做为一个字符串,再查看大文件内容,看是否有匹配,如果有就返回匹配处所在
的行数.
你试验可以,那表明grep把小文件里每行都作为一个字符串,大文件里的任何一处和小
文件里的任何一行字符串匹配,就返回行号. 最后看大文件里所有的行号都返回了,就
是个全包含!

【在 t****a 的大作中提到】
: 为啥不能用呢,我试了下可以,哪里不对》
:
: one

t****a
发帖数: 1212
12
呵呵,按行的。

【在 e****e 的大作中提到】
: 我手头上没*nix有环境,我是根据grep文档, 链接已给出. 我以为grep是把小文件的所
: 有内容做为一个字符串,再查看大文件内容,看是否有匹配,如果有就返回匹配处所在
: 的行数.
: 你试验可以,那表明grep把小文件里每行都作为一个字符串,大文件里的任何一处和小
: 文件里的任何一行字符串匹配,就返回行号. 最后看大文件里所有的行号都返回了,就
: 是个全包含!

e****e
发帖数: 418
13
Good to know. Thanks for sharing your solution.

【在 t****a 的大作中提到】
: 呵呵,按行的。
b***m
发帖数: 5987
14
写了20来行Perl程序搞定。grep对下面这个情况适用吗?
file 1:
bjhmm.microsoft.redmond.washington.usa
file 2:
redmond.wa
p*****2
发帖数: 21240
15

大牛用perl呀?

【在 b***m 的大作中提到】
: 写了20来行Perl程序搞定。grep对下面这个情况适用吗?
: file 1:
: bjhmm.microsoft.redmond.washington.usa
: file 2:
: redmond.wa

e****e
发帖数: 418
16
redmond.wa出现在file1里,正好可以吧.

【在 b***m 的大作中提到】
: 写了20来行Perl程序搞定。grep对下面这个情况适用吗?
: file 1:
: bjhmm.microsoft.redmond.washington.usa
: file 2:
: redmond.wa

1 (共1页)
进入JobHunting版参与讨论
相关主题
三星面经发个我总结的unix常用命令
求个4sum的算法如果python command line positional arguments 里有些是运算
Hashtable 不被支持 在leetCode Java一个linux简单面试题
HashTable space complexity?这个题怎么做啊?
一道面试题,请大家给些意见问个常见算法题的变形
[Google算法题] reconstruct sectorA公司面挂了,发面经,攒RP
同学今天面AMAZON到一个题目不会 问我。我来这问一下求高手解答cs 面试题?
大文件去重复,有什么好办法么弱弱的问问intersection, union of two arrays or two sets ?
相关话题的讨论汇总
话题: 域名话题: 文件话题: grep话题: 每行话题: hashtable