Java新手并试图做一些kata。目标是编写一个从int []中删除重复值的函数,并返回一个删除了重复项的int [],其顺序与原来的顺序相同。
我已经被困了一段时间了,有人能帮我指点正确的方向吗?目前的进展:
import java.util.*;
public class UniqueArray {
public static int[] unique(int[] integers) {
// Return integers when duplicates are not possible
if (integers.length <= 1) {
return integers;
}
ArrayList<Integer> newArray = new ArrayList<Integer>();
// Check each word in integers against the new array
for (int i = 0, j = integers.length; i < j; i++) {
for (int k = 0, l = newArray.size(); k < l; k++) {
// If match found, move to next int from integers
if (integers[i] == newArray.get(k).intValue()) {
break;
}
// If no matches found, add to new array
newArray.add(integers[k]);
}
}
// Convert ArrayList to int[]
int[] finalArray = new int[newArray.size()];
for (int i = 0, s = newArray.size(); i < s; i++) {
finalArray[i] = newArray.get(i).intValue();
}
return finalArray;
}
}
答案 0 :(得分:2)
ArrayList
为空,因此内循环不会被执行。
您可以改为遵循以下逻辑: