使用C ++查找数组中的对数,以使它们的XOR为0。
假设我们有一个由n个元素组成的数组;我们必须在数组中找到XOR为0的对。XOR为0的对(x,y),则x=y。为了解决这个问题,我们可以对数组进行排序,然后如果两个连续的元素相同,则增加计数。如果所有元素都相同,那么最后一个计数可能不会被计数。在这种情况下,我们将检查last和first元素是否相同,如果相同,则将计数增加1。
示例
#include<iostream>
#include<algorithm>
using namespace std;
int countPairs(int arr[], int n) {
int count = 0;
sort(arr, arr+n);
for(int i = 0; i<n - 1; i++){
if(arr[i] == arr[i+1]){
count++;
}
}
if(arr[0] == arr[n-1])
count++;
return count;
}
int main() {
int arr[] = {1, 2, 1, 2, 4};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Number of pairs: " << countPairs(arr, n);
}输出结果
Number of pairs: 2
热门推荐
10 考上大学简短祝福语、
11 端午送老师祝福语简短
12 写给女友的祝福语++简短
13 毕业教师花语祝福语简短
14 同学毕业祝福语有趣简短
15 生完孩子祝福语简短
16 写春节祝福语简短的
17 饭店国庆祝福语简短
18 对新人祝福语大全简短