【发布时间】:2012-12-04 10:07:08
【问题描述】:
我在编码时遇到问题:
编写一个名为removeDuplicates 的静态方法,该方法将一个整数数组作为输入,并作为结果返回一个新的整数数组,其中删除了所有重复项。
例如,如果输入数组具有元素 {4, 3, 3, 4, 5, 2, 4},则结果数组
应该是 {4, 3, 5, 2}
这是我到目前为止所做的事情
public static int[] removeDuplicates(int []s){
int [] k = new int[s.length];
k[0]=s[0];
int m =1;
for(int i=1;i<s.length;++i){
if(s[i]!=s[i-1]){
k[m]=s[i];
++m;
}//endIF
}//endFori
return k;
}//endMethod
【问题讨论】:
-
简单的方法是将元素添加到集合中(这会自动为您删除重复项)并将数字放回数组中。
-
你没有说明你的实施的限制,我敢打赌有很多,否则解决方案是微不足道的。
-
其实我不能使用 Set 或 HashSet ,它必须用循环和简单的数组来完成