由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 多文本搜索多个字符串
相关主题
请教c++数组初始化regex probelm
string /File IO processing using CAbout Longest repeated substring
Re: 为什么用json.dump产生的数字上有双引号?C++ string类输入数据的问题
有熟悉php的吗?问个文本处理whitespace 问题
字符串数组中如何找出一个元素的坐标matlab?TIJ上写错了?
问个java regex基本问题如何动态分配内存来存储输入的不定长的字符串,char not string类型的
Re: 问个google面试题 (转载)内存管理的问题
Python: how to match the price string starting with $ ?设计一个string class,是应该用linked list还是array?
相关话题的讨论汇总
话题: 字符串话题: string话题: m1话题: m3话题: m2
进入Programming版参与讨论
1 (共1页)
w********n
发帖数: 137
1
门外汉请教基本CS问题,非面试题,是实际需要解决的问题。
一个Server Side 的程序,需要抓取多个页面,只保留页面信息如果页面的文字满足以下
要求
1 包含至少一个设备类型字符串 [phone tablet pc ebook ..](数组预先定义好的,
大小10)
2 包含至少一个地址信息字符串 [Arizona, California, Texas ...](数组预先定
义好的,大小100)
3 包含至少一个品牌信息字符串 [apple asus samsung rim ...](数组预先定义好的
,大小10)
举例, 如果页面含有 .... Texas .... Samsung .... smartphone ....
那么就就是满足条件的。大小写无所谓。
假如文件大小N, 三个数组大小分别为M1, M2, M3
for each string in file
————if string inside M1
————else return
————if string inside M2
————else return
————if string insdie M3
————else return
end for
复杂度 O (Nx (M1+M2+M3))
有无其他更好(CPU Times)算法?
可以不用先考虑语言,但是prefer Java 或者 Python, Perl,可以用(regex)
No Map-reduce available
g*****g
发帖数: 34805
2
这个简单,你把所有的字符串放进一个哈希表,设3个标志位,bit或boolean都可以。
哈希表对应的值就是这些标志位。顺序扫描,当3个标志位都满足的时候即可退出。
这是个O(N)的操作。可以起多个线程并行。

以下

【在 w********n 的大作中提到】
: 门外汉请教基本CS问题,非面试题,是实际需要解决的问题。
: 一个Server Side 的程序,需要抓取多个页面,只保留页面信息如果页面的文字满足以下
: 要求
: 1 包含至少一个设备类型字符串 [phone tablet pc ebook ..](数组预先定义好的,
: 大小10)
: 2 包含至少一个地址信息字符串 [Arizona, California, Texas ...](数组预先定
: 义好的,大小100)
: 3 包含至少一个品牌信息字符串 [apple asus samsung rim ...](数组预先定义好的
: ,大小10)
: 举例, 如果页面含有 .... Texas .... Samsung .... smartphone ....

w********n
发帖数: 137
3
但是忘了说
像 "New York" 这样的地名应该被作为一个字符串搜查,
以上的方法都会miss掉
(如果用空格把输入文件split成字符串时)
foreach addr in address_list
___if addr inside input_file //use string search function
______do somthing
___else
______do something
如果这样做会不会很慢
g*****g
发帖数: 34805
4
Instead of a simple hashmap, you can build a trie or suffix tree to do the
string match.

【在 w********n 的大作中提到】
: 但是忘了说
: 像 "New York" 这样的地名应该被作为一个字符串搜查,
: 以上的方法都会miss掉
: (如果用空格把输入文件split成字符串时)
: foreach addr in address_list
: ___if addr inside input_file //use string search function
: ______do somthing
: ___else
: ______do something
: 如果这样做会不会很慢

1 (共1页)
进入Programming版参与讨论
相关主题
设计一个string class,是应该用linked list还是array?字符串数组中如何找出一个元素的坐标matlab?
C#方案里两个程序传递字符串问题问个java regex基本问题
for 循环下给不同变量赋值问题Re: 问个google面试题 (转载)
这个有更好的算法吗?Python: how to match the price string starting with $ ?
请教c++数组初始化regex probelm
string /File IO processing using CAbout Longest repeated substring
Re: 为什么用json.dump产生的数字上有双引号?C++ string类输入数据的问题
有熟悉php的吗?问个文本处理whitespace 问题
相关话题的讨论汇总
话题: 字符串话题: string话题: m1话题: m3话题: m2