Java在数组中重复计数,而不使用外部类或方法?
我需要计算数组中的重复数,但我只能使用数组,不能使用哈希集或数组列表
以下是示例输入及其预期输出:
numDuplicates(new double[] { }) --> 0
numDuplicates(new double[] { 11.0 }) --> 0
numDuplicates(new double[] { 11.0, 11.0, 11.0, 11.0 }) --> 3
numDuplicates(new double[] { 11.0, 11.0, 11.0, 11.0, 22.0, 33.0, 44.0, 44.0, 44.0, 44.0, 44.0, 55.0, 55.0, 66.0, 77.0, 88.0, 88.0 }) --> 9
numDuplicates(new double[] { 11.0, 22.0, 33.0, 44.0, 44.0, 44.0, 44.0, 44.0, 55.0, 55.0, 66.0, 77.0, 88.0 }) --> 5
这是我的代码,但它在每个数字后计算重复数,返回一个膨胀的计数,即{11.0,11.0,11.0}返回6而不是3:
public static int numDuplicates (double[] list) {
int dupCount = 0;
for (int i = 0; i < list.length; i++) {
for (int j = i + 1; j < list.length; j++) {
if (list[i] == list[j]) {
dupCount++;
}
}
}
return dupCount; //TODO1: fix this
}
注意:我是新手,我尝试过彻底搜索,但找不到与我的输入/输出类似的数组重复问题,但如果有人已经问过这个问题,我很抱歉
共 (0) 个答案