由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 求帮忙解答一个面试算法题==
相关主题
为什么不能直接比较java hashMap get 的值?2-sum 用hash table实现的问题
hash_map 的遍历问题一道google题
FB interview questionamazon二面
三连击判断(二叉)树是否镜像对称
问道indeed面试算法题请教一道题
Java的hashcode和equal函数有什么用?又一道linkedin题
给大家出一个brain teaser问道题目 Map的iterator
5分钟前G的电面求问传说中的800题怎么找
相关话题的讨论汇总
话题: equaltable话题: list话题: equal话题: 比如话题: 相等
进入JobHunting版参与讨论
1 (共1页)
s**********1
发帖数: 73
1
Input是两个List,一个反应了equal的关系,比如A=B, B=C,另外一个反应
了not-equal的关系,比如A!=C
Output是判断这两个List有没有conflict……
感觉没有思路啊%>_<%能想到的就是用HashMap存所有的equal关系,然后遍历not-equal
的那个List来判断,但是如何存所有的equal关系呢? A就存B呢,还是A要存B,C?
f********y
发帖数: 156
2
貌似用Union find
x*******9
发帖数: 138
3
把这题转化成图来看。
如果A==B => A和B之间连一条无向边
我们先处理完第一个List,建图
然后对于第二个List,每一个点对,我们判断一下这两个点是否联通。如果联通
,就conflict。
M******i
发帖数: 468
4
为什么我连题目都看不懂? 没刷过题的人真是不行啊
q***a
发帖数: 26
5
A, B... 都hash到对应的group
比如若A=B=C, 则hash(A)=hash(B)=hash(C)

equal

【在 s**********1 的大作中提到】
: Input是两个List,一个反应了equal的关系,比如A=B, B=C,另外一个反应
: 了not-equal的关系,比如A!=C
: Output是判断这两个List有没有conflict……
: 感觉没有思路啊%>_<%能想到的就是用HashMap存所有的equal关系,然后遍历not-equal
: 的那个List来判断,但是如何存所有的equal关系呢? A就存B呢,还是A要存B,C?

b**g
发帖数: 25
6
看不懂题
I******c
发帖数: 163
7
我的想法和3楼类似,
不过第二个list可能很大,对每一对分别求联通可能比较耗时
我觉得应该先建一个表,表明每个节点所在对组。建表用一次遍历就可以了。
或者更简单,象2楼说的那样,用union find,连图都不需要建立。
M***6
发帖数: 895
8
只包含字母吗?如果是的话,我的想法是创建一个 int[] equalTable = new int[26];
// java 默认初始化后全部为0.
int count = 0;//用于计数有多少个不同的等式,这里A=B, B=C,C=F, 属于同一个等
式。所以我们就把equalTable里A, B, C, F位置的index的值都设成某一个一样数字,
比如1。
然后扫描equal list,遇到一组等式比如 M = Z, 就看equalTable['M' - 'A' ] 和
equalTable['Z' - 'A' ] 是否都为0,如果是的话,
count++;
equalTable['M' - 'A' ] = count;
equalTable['Z' - 'A' ] = count;
如果有一个不为0,那么就把另一个为0的也设为这个非0值。
如果两个都不为0,且不相等,比如一个为2,一个为3,那么就把equalTable数组里全
部为2的都变成3(或者全部3都变成2也行)。
如果都不为0,且相等,不管,跳过。
然后扫描了一趟equal list后就得到一个大概长这样的table:
【1, 1, 2, 3, 2, 1, 0, 0, 0, 0, 1, 3, 3, 2 ....】.
然后再扫一遍not-equal那个list,看每个不等式,比如,W != Y, 在equalTable里
equalTable['W' - 'A' ] 和equalTable['Y' - 'A' ] 的数字是否相等,如果相等返回
有conflict。。
不知道对不对。
1 (共1页)
进入JobHunting版参与讨论
相关主题
求问传说中的800题怎么找问道indeed面试算法题
AMAZON onsite 3月面经Java的hashcode和equal函数有什么用?
贡献Amazon的电面经验给大家出一个brain teaser
非死不可电面出了新花样5分钟前G的电面
为什么不能直接比较java hashMap get 的值?2-sum 用hash table实现的问题
hash_map 的遍历问题一道google题
FB interview questionamazon二面
三连击判断(二叉)树是否镜像对称
相关话题的讨论汇总
话题: equaltable话题: list话题: equal话题: 比如话题: 相等