暴力程序
循环循环在循环,运算次数太多,时间太长但是管用。
//寻找单身狗===========================
// 暴力求解
int main()
{
int arr[] = { 1,2,3,4,5,1,2,9,6 };
int sz = sizeof(arr) / sizeof(arr[0]);//求数组元素个数
int i = 0;
int j = 0;
for (i = 0; i < sz; i++)
{
int count = 0;//套路 我方间谍
for (j = 0; j < sz ; j++)
{
if (arr[i] == arr[j])
{
count++;//监视敌方行动
if (count == 2)
break;
}
}
if (count==1)//返回情报判断
{
printf("单身狗 %d\n", arr[i]);
}
}
return 0;
}
异或程序交换律)
相同为零,不同为1
程序有一个问题,只能有一个单身狗,可怜朋友都没有啊。
int main()
{
int arr[] = { 1,2,3,4,5,1,2,3,4,5,6 };
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
int ret = 0;
for (i = 0; i < sz; i++)
{
ret = ret ^ arr[i];
//异或 相同为零,不同为一。 0与A异或 ,值为A。0与0异或 ,值为0。
//异或满足 交换律 AAB == ABA 都值是为B
//A与A异或为0,A与A与B异或,值为B。
}
printf("单身狗 %d\n", ret);
return 0;
}