用C / C ++程序查找出现次数奇数?
在此程序中,我们将看到如何获取数组中出现奇数次的数字。有许多不同的方法。最简单的方法之一是执行ZOR操作。如果数字与自身进行异或运算,则将为0。因此,如果将数字与偶数进行异或运算,则它将为0,否则为数字本身。
此解决方案有一个问题,如果一个以上元素的出现次数为奇数,它将返回其中一个。
算法
getNumOccurredOdd(arr,n)
begin
res := 0
for each element e from arr, do
res := res XOR e
done
return res
end示例
#include <iostream>
using namespace std;
int getNumOccurredOdd(int arr[], int n) {
int res = 0;
for (int i = 0; i < n; i++)
res = res ^ arr[i];
return res;
}
int main() {
int arr[] = {3, 4, 6, 5, 6, 3, 5, 4, 6, 3, 5, 5, 3};
int n = sizeof(arr)/sizeof(arr[0]);
cout << getNumOccurredOdd(arr, n) << " is present odd number of times";
}输出结果
6 is present odd number of times
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短