我有编码这个问题:
编写一个名为static的方法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
Run Code Online (Sandbox Code Playgroud)
小智 7
要保留排序并删除整数数组中的重复项,可以尝试以下操作:
public void removeDupInIntArray(int[] ints){
Set<Integer> setString = new LinkedHashSet<Integer>();
for(int i=0;i<ints.length;i++){
setString.add(ints[i]);
}
System.out.println(setString);
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
试试这个 -
public static int[] removeDuplicates(int []s){
int result[] = new int[s.length], j=0;
for (int i : s) {
if(!isExists(result, i))
result[j++] = i;
}
return result;
}
private static boolean isExists(int[] array, int value){
for (int i : array) {
if(i==value)
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
您还可以将数组元素放入 a 中Set
,其语义恰恰是它不包含重复元素。