Redian新闻
>
斑竹今天删帖忙啊
avatar
斑竹今天删帖忙啊# Stock
a*r
1
在线测试题,关于 industry classification system
先要读文件如下:
industry | pharmacy | healthcare (这里有继承关系,pharmacy包含在healthcare里
面)
company | pfiza | pharmacy (意思是pfiza属于pharmacy)
根据上面的信息,
string findcompany("healthcare")
应该输出 pfiza
那位大牛给菜鸟指点一下吧, 跪谢
avatar
c*7
2
好多帖子都不见了。
斑竹今天好忙啊。。。
avatar
r*e
3
前缀只有Industry与Company么??
如果是,做两个HashMap 一个叫Industry 一个叫company
然后读文件 如果前缀==Industry,这个map 放入 key=后缀,value =中缀的 key-
value pair
如果是company,在company那个map做同样操作。
那个findcompany就是查两遍hashmap了。
我感觉似乎不止这些。
然后这个B是bloomberg么,这家online test在哪里啊。
avatar
E*r
4
不算跟帖,你在一天之内发与股票无关的帖有十来个了,已经给你警告了。
avatar
a*r
5
是的。他们发给我一个连接,现在进不去了
如果 industry | healthcare, key is "healthcare", value is empty?
如果 industry | pharmacy | healthcare, what is key and value?
如何体现继承关系?也就是说如何知道pharmacy是healthcare的儿子?

【在 r*******e 的大作中提到】
: 前缀只有Industry与Company么??
: 如果是,做两个HashMap 一个叫Industry 一个叫company
: 然后读文件 如果前缀==Industry,这个map 放入 key=后缀,value =中缀的 key-
: value pair
: 如果是company,在company那个map做同样操作。
: 那个findcompany就是查两遍hashmap了。
: 我感觉似乎不止这些。
: 然后这个B是bloomberg么,这家online test在哪里啊。

avatar
E*r
6
re
avatar
r*e
7
如果只有这样的数据,key始终是后缀。
然后value得根据分割后的数据大小决定。3则中缀为value,2则用空字符串为value
继承关系根据key-value pair就知道了,C++ 中的map.find(key)或者map(key),java
里面的map.get(key),python 里面的dict[key]

【在 a********r 的大作中提到】
: 是的。他们发给我一个连接,现在进不去了
: 如果 industry | healthcare, key is "healthcare", value is empty?
: 如果 industry | pharmacy | healthcare, what is key and value?
: 如何体现继承关系?也就是说如何知道pharmacy是healthcare的儿子?

avatar
a*r
8
加菲鲸大牛:
我没把问题讲清楚
industry 有成千上万行,每行层次也不一样, 有继承关系, 用 | 分隔
industry | healthcare |
industry | pharmacy | food and drug
industry |food and drug | healthcare
industry |pharmacy | food and drug |healthcare (这里的继承关系是 pharmacy
是 food and drug 的儿子,又是 healthcare 的孙子)
....
company 有成千上万行,每行层次也不一样, 无继承关系, 用 | 分隔
company | pfiza | pharmacy
company | cvs | food and drug
所以
findcomapany("healthcare") 应该输出 pfiza, cvs

【在 r*******e 的大作中提到】
: 如果只有这样的数据,key始终是后缀。
: 然后value得根据分割后的数据大小决定。3则中缀为value,2则用空字符串为value
: 继承关系根据key-value pair就知道了,C++ 中的map.find(key)或者map(key),java
: 里面的map.get(key),python 里面的dict[key]

avatar
r*e
9
这似乎是让你构建一个森林??
还是得用两个map,map_industry 与map_company,类型均为>。
前缀为industry时,后缀为key,后缀前一个放进value的list中。然后依次递减操作。
前缀为company时,后缀为key,后缀前一个放进value的list中。
如果你要找healthcare 中的company,先在map_industry中找到所有healthcare的子孙
,然后在map_company中把这些子孙以及healthcare自己对应的公司都抓住来。如果想
要保证不重复,那估计得扔进一个TreeSet里面。
如果想要找到某类工业的祖先,可以再做一个map,操作方法与map_industry 反过来。
似乎也就这样子了。
avatar
m*k
10
类似file system design?
industry folder
company file
特殊点在于folder下不能同时有folder和file,楼主confirm一下?
变成找某folder中所有文件。
Tree BFS, return file leaves.
avatar
a*r
11
在线测试题,关于 industry classification system
先要读文件如下:
industry | pharmacy | healthcare (这里有继承关系,pharmacy包含在healthcare里
面)
company | pfiza | pharmacy (意思是pfiza属于pharmacy)
根据上面的信息,
string findcompany("healthcare")
应该输出 pfiza
那位大牛给菜鸟指点一下吧, 跪谢
avatar
r*e
12
前缀只有Industry与Company么??
如果是,做两个HashMap 一个叫Industry 一个叫company
然后读文件 如果前缀==Industry,这个map 放入 key=后缀,value =中缀的 key-
value pair
如果是company,在company那个map做同样操作。
那个findcompany就是查两遍hashmap了。
我感觉似乎不止这些。
然后这个B是bloomberg么,这家online test在哪里啊。
avatar
a*r
13
是的。他们发给我一个连接,现在进不去了
如果 industry | healthcare, key is "healthcare", value is empty?
如果 industry | pharmacy | healthcare, what is key and value?
如何体现继承关系?也就是说如何知道pharmacy是healthcare的儿子?

【在 r*******e 的大作中提到】
: 前缀只有Industry与Company么??
: 如果是,做两个HashMap 一个叫Industry 一个叫company
: 然后读文件 如果前缀==Industry,这个map 放入 key=后缀,value =中缀的 key-
: value pair
: 如果是company,在company那个map做同样操作。
: 那个findcompany就是查两遍hashmap了。
: 我感觉似乎不止这些。
: 然后这个B是bloomberg么,这家online test在哪里啊。

avatar
r*e
14
如果只有这样的数据,key始终是后缀。
然后value得根据分割后的数据大小决定。3则中缀为value,2则用空字符串为value
继承关系根据key-value pair就知道了,C++ 中的map.find(key)或者map(key),java
里面的map.get(key),python 里面的dict[key]

【在 a********r 的大作中提到】
: 是的。他们发给我一个连接,现在进不去了
: 如果 industry | healthcare, key is "healthcare", value is empty?
: 如果 industry | pharmacy | healthcare, what is key and value?
: 如何体现继承关系?也就是说如何知道pharmacy是healthcare的儿子?

avatar
a*r
15
加菲鲸大牛:
我没把问题讲清楚
industry 有成千上万行,每行层次也不一样, 有继承关系, 用 | 分隔
industry | healthcare |
industry | pharmacy | food and drug
industry |food and drug | healthcare
industry |pharmacy | food and drug |healthcare (这里的继承关系是 pharmacy
是 food and drug 的儿子,又是 healthcare 的孙子)
....
company 有成千上万行,每行层次也不一样, 无继承关系, 用 | 分隔
company | pfiza | pharmacy
company | cvs | food and drug
所以
findcomapany("healthcare") 应该输出 pfiza, cvs

【在 r*******e 的大作中提到】
: 如果只有这样的数据,key始终是后缀。
: 然后value得根据分割后的数据大小决定。3则中缀为value,2则用空字符串为value
: 继承关系根据key-value pair就知道了,C++ 中的map.find(key)或者map(key),java
: 里面的map.get(key),python 里面的dict[key]

avatar
r*e
16
这似乎是让你构建一个森林??
还是得用两个map,map_industry 与map_company,类型均为>。
前缀为industry时,后缀为key,后缀前一个放进value的list中。然后依次递减操作。
前缀为company时,后缀为key,后缀前一个放进value的list中。
如果你要找healthcare 中的company,先在map_industry中找到所有healthcare的子孙
,然后在map_company中把这些子孙以及healthcare自己对应的公司都抓住来。如果想
要保证不重复,那估计得扔进一个TreeSet里面。
如果想要找到某类工业的祖先,可以再做一个map,操作方法与map_industry 反过来。
似乎也就这样子了。
avatar
f*t
17
class CompanyDB:
def __init__(self, fname):
self.industries = defaultdict(set)
self.companies = defaultdict(set)
fp = open(fname);
for line in fp.readlines:
items = line.split('|')
if len(items) < 3:
continue
if items[0] == "industry":
self.industries[items[2].strip()].add(items[1].strip())
elif items[0] == "company":
self.companies[items[2].strip()].add(items[1].strip())
def search(self, industry):
res = set()
dq = deque(industry)
while len(dq) > 0:
cur = deque.popleft()
res.extend(companies[cur])
for ind in industries[cur]:
dq.append(ind)
return res
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。