gpt4 book ai didi

java - 大小为 2N 的数组中的 N 个重复元素

转载 作者:行者123 更新时间:2023-12-02 01:26:34 24 4
gpt4 key购买 nike

在大小为 2N 的数组 A 中,有 N+1 个唯一元素,并且这些元素中恰好有一个被重复 N 次.

返回重复N次的元素。

我正在尝试解决这个算法,但我似乎无法弄清楚为什么我的计数不断重置。任何意见都将不胜感激。

public class RepeatedElementInSize2NArray {

public static void main(String[] args) {
int[] inputArr = new int[] {1,2,3,3};
int repeatedElement = findRepeatedElement(inputArr);
System.out.println("Repeated element : "+repeatedElement);

}

public static int findRepeatedElement(int[] inputArr) {
Map<Integer, Integer> repeatedElementMap = new HashMap<Integer, Integer>();
int count = 0;
for (int i = 0; i < inputArr.length; i++) {
if (repeatedElementMap.containsKey(inputArr[i])) {
count = repeatedElementMap.get(inputArr[i]);
repeatedElementMap.put(inputArr[i], count++);
} else {
repeatedElementMap.put(inputArr[i], 1);
}
}
int length = inputArr.length;
int repeatedElement = 0;
if (repeatedElementMap.containsValue(length % 2)) {
repeatedElement = repeatedElementMap.get(length % 2);
}
return repeatedElement;

}

}

最佳答案

应该是++count而不是count++在线repeatedElementMap.put(inputArr[i], count++);原因是后者先返回count的值,然后再增加该值,而前者先增加该值,然后再返回。

关于java - 大小为 2N 的数组中的 N 个重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56823054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com