0

假设给定一个数组,所有元素都出现 N 次,但只有一个元素出现 K 次。

例子:

N=3, K=1, A = [1,1,1,2,2,3,3,3,4,4,2,4,5]

N=2, K=1, A = [1,1,2,2,3,3,4]

我刚刚查看了以下两个线程:

在数组中只出现一次的数字;使用 XOR 操作,当 k 为奇数且 n 为偶数时,似乎很容易解决这个问题。

给定一个数组,该数组包含除一个之外的所有元素三次。找到出现一次的元素。很难找到时间复杂度 O(N) 和空间复杂度 O(1) 的算法来解决这个问题。

有哪位小伙伴可以给点意见吗?是否可以解决?

4

1 回答 1

0

N 总是大于 K 吗?

if K<N {
until A is not empty {
 take 1st element and remove N times form array A

 catch exeption: element is only K times: return this element;
 }
}
于 2012-07-18T10:06:14.740 回答