我刚刚开始编写LeetCode problmes。问题如下:给定一个排序的数组,去掉重复的元素,使每个元素只出现一次,并返回新的长度。
不要为另一个数组分配额外的空间,您必须使用常量内存在适当的位置执行此操作。
我的解决方案如下:
public static int removeDuplicates1(int[] A) {
Set<Integer> mySet = new HashSet<Integer>();
for(Integer i: A){
mySet.add(i);
}
return mySet.size();
}即使我在Eclipse中得到了正确的答案,我的答案也没有被网站接受。有人能告诉我哪里出了问题吗?
发布于 2014-08-21 16:36:13
如果数组已排序,则可以直接比较连续元素的重复项,直到找到不同的长度为止。循环完成后,可以使用数组长度属性返回新的长度。
显然,你必须在某些地方管理你的逻辑才能做到这一点。
https://stackoverflow.com/questions/25417284
复制相似问题