首页 > 其他分享 >数组里暴力查找单身狗和'^'异或快速查找单身狗

数组里暴力查找单身狗和'^'异或快速查找单身狗

时间:2022-12-13 19:33:07浏览次数:45  
标签:count sz arr int 异或 查找 单身 sizeof

int main()
{
char arr[] = { 1,2,3,4,5,7,5,1,2,3,4 };
int sz = sizeof(arr) / sizeof(arr[0]);
int i,ret = 0;
//0^a=a,a^b^a=b,a^a=0,异或满足交换规律,相同为0,反之为1;
for (i = 0; i < sz; i++)
{
ret = ret ^ arr[i];
}
printf("单身狗是 %d", ret);
return 0;
}
int main()
{
char arr[] = { 1,2,3,4,5,7,5,1,2,3,4 };
int sz = sizeof(arr) / sizeof(arr[0]);
//暴力求解
int i = 0;
for (i = 0; i < sz; i++)
{
int j = 0;
int count = 0;//计数器
for (j = 0; j < sz; j++)
{
if (arr[i] == arr[j])
{
count++;//每个元素会和自己比一次,然后和数组内相同的元素
//再比较一次,重复了,count = 2,没重复,count = 1
}
}
if (count == 1)
{
printf("单身狗是 %d", arr[i]);
break;
}
}
return 0;
}

标签:count,sz,arr,int,异或,查找,单身,sizeof
From: https://www.cnblogs.com/zrk-8008/p/16979692.html

相关文章

  • 查找给定区间内第K大的元素
    查找给定区间内第K大的元素:(一)方法一:最小堆:O(n*lg(k))(1)思想:1.建立一个大小为k的最小堆2.注意:是给定区间,堆中存放的是给定区间的元素,不是给定区间的元素不会存放。说明:......
  • #yyds干货盘点# 名企真题专题: 二分查找
    1.简述:描述对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。给定一个整数数组A及它的大小n,同时给定要查找的元素val,......
  • CAD查找替换文字时如何使用通配符?CAD通配符使用技巧(一)
    通配符是一种特殊语句,主要有星号和问号,用来模糊搜索文件。那么,CAD查找替换文字时如何使用通配符呢?本文小编就来给大家分享一下浩辰CAD软件中查找替换文字时使用通配符的操......
  • 四种二分查找法模板
    publicclassBinarySearch{publicstaticvoidmain(String[]args){int[]arr={1,2,3,3,3,4,5,5,7};intupper1=floor_lower(arr,3);......
  • 二分查找以及二分查找的变形
    二分查找以及二分查找的变形常规二分查找:在有序数组中找到num代码://1.常规二分查找首先需要保证这个数组是有序的//在有序数组中找到numpublicstaticboole......
  • DS哈希查找—二次探测再散列
    题目描述定义哈希函数为H(key)=key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。输入测试次数t每组测试数据格式如下:哈希......
  • BZOJ4536 : 最大异或和II
    建立$n+m$个点的无向图,其中$n$个点表示输入的数列,$m$个点表示答案的$m$个二进制位。对于输入的两个数$a[i],a[j]$,若它们存在公共二进制位,则可以通过同时选某一公共位来对......
  • 【LeetCode】二分法--剑指 Offer 53 - I. 在排序数组中查找数字 I
    点击直达题目内容统计一个数字在排序数组中出现的次数。示例示例1:输入:nums=[5,7,7,8,8,10],target=8输出:2示例2:输入:nums=[5,7,7,8,8,10],target......
  • 查找
    importjava.util.Scanner;publicclassEext{publicstaticvoidmain(String[]args){String[]str={"lala","koko","joke"};A02a02......
  • 力扣182(MySQL)-查找重复的电子邮箱(简单)
    题目:编写一个SQL查询,查找 Person 表中所有重复的电子邮箱。示例: 解题思路:方法一:使用groupby按Email来分组,然后使用having选择count(id)>1的就可以得到重复的Em......