由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一道Coding面试题目
相关主题
请教一下怎么写unit testcoding是不是用接口比较吊啊?
Java的hashcode和equal函数有什么用?问一下careercup一道题
C++ constructor problem问个题
Amazon 电面问个常见算法题的变形
JAVA里sort的algorithm time complexity是多少问个java hashcode的题
问个题,没思路[合集] 三妹比三哥还威武啊
问一个关于c++的很傻的问题,多谢G家Recruiter说材料要送交Hiring Committee了
3-way Partition 算法不容易请教 HashMap implementation 标准答案。。
相关话题的讨论汇总
话题: pair话题: string话题: index话题: len话题: input
进入JobHunting版参与讨论
1 (共1页)
g*******7
发帖数: 6
1
找购买物品相关的物品,返回最长相关List。如果有一样长的,返回字典最小的一个。
Test case1:
[test1, test2]
[test3, test4]
==> [test1, test2]
Test case2:
[test1, test2]
[test3, test4]
[test4, test5]
==> [test3, test4, test5]
请教有没有比较好简洁的解法?
s****z
发帖数: 11
2
可能没理解题 直接bfs不可以吗
r****l
发帖数: 741
3
看这些例子O(N)可解
俩字典,test1:([test1,test2])
Test2:([test1,test2]),value是同一个list/linkedlist
每加一个Link,看能不能和原来的连起来。其实就是
没法连,连一个,连两个三种情况
while loop就好。连起来的话两个字典要同步更新
每一步还要更新最长List
如果同一个Node可能指向不同的node,就麻烦得多
遍历有向图?
l**********0
发帖数: 150
4
建立无向图,dfs
l*****z
发帖数: 3022
5
O(N)能搞定
用两个hashmap, 一个存物品:集ID,一个是集ID:counter。扫描一遍更新即可

【在 g*******7 的大作中提到】
: 找购买物品相关的物品,返回最长相关List。如果有一样长的,返回字典最小的一个。
: Test case1:
: [test1, test2]
: [test3, test4]
: ==> [test1, test2]
: Test case2:
: [test1, test2]
: [test3, test4]
: [test4, test5]
: ==> [test3, test4, test5]

o*******r
发帖数: 73
6
class Pair {
Pair(String s, String e) {
_1 = s;
_2 = e;
}
public int hashCode() {
return _1.hashCode() | _2.hashCode();
}
public boolean equals(Object obj) {
if (obj == null) return false;
else {
if (obj instanceof Pair) {
Pair pair = (Pair)obj;
return _1.equals(pair._1) && _2.equals(pair._2);
} else {
return false;
}
}
}
String _1;
String _2;
}
public class Solution {
public List longest(Pair[] input) {
// 如果输入已经排序, O(N), 否则O(NlgN).
Arrays.sort(input, new Comparator(){
public int compare(Pair i1, Pair i2) {
if (!i1._1.equals(i2._1)) return i1._1.compareTo(i2._1);
else return i1._2.compareTo(i2._2);
}
});
int start = 0;
int len = 0;
int index = 0;
for (int i = 1; i < input.length; i++) {
if (input[i - 1]._2.equals(input[i]._1)) continue;
else {
if (i - index > len) {
len = i - index;
start = index;
}
index = i;
}
}
if (input.length - index > len) {
len = input.length - index;
start = index;
}
List ret = new LinkedList<>();
for (int i = start; i < start + len; i++) {
if (ret.isEmpty()) {
ret.add(input[i]._1);
ret.add(input[i]._2);
} else {
ret.add(input[i]._2);
}
}
return ret;
}
}
g*******7
发帖数: 6
7
vector Longest(vector> items) {
}
For test case 1, need to sort the same len and return one in the
lexicographical order.
For test case 2, need to merge different pairs into large vector list.
It is not easy to resolve it with bug free during main shi if did not see
this question before.
Wonder some similar TIMU for this case?
n**p
发帖数: 1150
8
Union find
o*******r
发帖数: 73
9
靠谱。

【在 n**p 的大作中提到】
: Union find
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教 HashMap implementation 标准答案。。JAVA里sort的algorithm time complexity是多少
两道题,祝大家新年快乐!问个题,没思路
M家面试,问java一题问一个关于c++的很傻的问题,多谢
请教一个 Java hashcode 和 equals 的面试题!3-way Partition 算法不容易
请教一下怎么写unit testcoding是不是用接口比较吊啊?
Java的hashcode和equal函数有什么用?问一下careercup一道题
C++ constructor problem问个题
Amazon 电面问个常见算法题的变形
相关话题的讨论汇总
话题: pair话题: string话题: index话题: len话题: input