由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 面试题求解:remove first duplicate number from an array
相关主题
请教个面试题算法题:两列找共同元素有O(n)的算法吗?
HashTable space complexity?分享面试题
有些面试题是够扯蛋的subset
google 面试题疑问M家问题
a[i] + b[j] = c[k] 的题有靠谱的答案不?弱弱的问问intersection, union of two arrays or two sets ?
问道题,谁给个效率高点的解法请教一道题
也问一个算法题LeetCode 的 4 sum 问题 如何用hash table做呢?
一道面试题4sum o(n^2)超时
相关话题的讨论汇总
话题: int话题: len话题: 求解话题: remove话题: array
进入JobHunting版参与讨论
1 (共1页)
i*****h
发帖数: 1534
1
LC只刷了60题,今天面试碰到个题(不知道lc里有没有,粗略扫了一遍题目名字没看到
),求思路。
题目:一个array里有一组或以上重复的数字(可能只有一组,可能有几组),需要
remove第一次出现的重复的数字,然后顺序要保持和原来一样。
比如:
{1,5,2,3,5,4,5,6}-> {1,2,3,5,4,5,6}
{1,5,2,3,2,5,4,5,6} ->{1,3,2,5,4,5,6}
求思路求解,谢谢了!
我能想到的就只有用hashmap.
O***D
发帖数: 206
2
第二个例子为什么5和2都去了?
z***b
发帖数: 127
3
时间空间复杂度有啥要求吗?
i*****h
发帖数: 1534
4
第二个例子是表示5和2都有重复,所以第一次出现的重复数字需要删除。

【在 O***D 的大作中提到】
: 第二个例子为什么5和2都去了?
i*****h
发帖数: 1534
5
最优能写成什么样?我想不到,所以想求大牛解答。

【在 z***b 的大作中提到】
: 时间空间复杂度有啥要求吗?
z*********e
发帖数: 10149
6
可能不算最优,扫两遍
int len = A.length;
Set s = new HashSet<>();
Set dupeSet = new HashSet<>();
for(int i = 0; i < len; i++){
if(s.contains(A[i])) dupeSet.add(A[i]);
s.add(A[i]);
}
int[] res = new int[len - dupeSet.size()];
int index = 0;
for(int i = 0; i < len ;i++){
if(!dupeSet.contains(A[i])) res[index++] = A[i];
else dupeSet.remove(A[i]);
}
return res;
i*****h
发帖数: 1534
7
等会我看下,先多谢了!

【在 z*********e 的大作中提到】
: 可能不算最优,扫两遍
: int len = A.length;
: Set s = new HashSet<>();
: Set dupeSet = new HashSet<>();
: for(int i = 0; i < len; i++){
: if(s.contains(A[i])) dupeSet.add(A[i]);
: s.add(A[i]);
: }
: int[] res = new int[len - dupeSet.size()];
: int index = 0;

1 (共1页)
进入JobHunting版参与讨论
相关主题
4sum o(n^2)超时a[i] + b[j] = c[k] 的题有靠谱的答案不?
Java 面试关于map 和set问道题,谁给个效率高点的解法
问个Java的HashSet.contains的问题也问一个算法题
问一个G家面试题一道面试题
请教个面试题算法题:两列找共同元素有O(n)的算法吗?
HashTable space complexity?分享面试题
有些面试题是够扯蛋的subset
google 面试题疑问M家问题
相关话题的讨论汇总
话题: int话题: len话题: 求解话题: remove话题: array