找出重复两次的数–有且只有一个数字重复两次,其余都不重复「建议收藏」

找出重复两次的数–有且只有一个数字重复两次,其余都不重复「建议收藏」问题描述:数字范围是0-99的整数,给出101个整数,其中只有一个是重复两次的数,找出这个数分析:如果是有序的话,遍历一次就可以找出方法一:先排序,再遍历,遍历超过一次方法二:只是排序,排序过程中对于元素相等这一特殊情况拿出来判断,直接返回相等的这个元素,方法三:使用亦或运算符 ^ ,这个也是刚了解到的,遍历一次 相同数字 亦或一次 结果是 0 不同数异或一次,结果是 1 …

大家好,又见面了,我是你们的朋友全栈君。

问题描述:数字范围是0-99的整数,给出101个整数,其中只有一个是重复两次的数,找出这个数
分析:如果是有序的话,遍历一次就可以找出

方法一
:先排序,再遍历,遍历超过一次

方法二
:只是排序,排序过程中对于元素相等这一特殊情况拿出来判断,直接返回相等的这个元素,

方法三
:使用亦或运算符 ^ ,这个也是刚了解到的,遍历一次 
相同数字 亦或一次 结果是 0 
不同数异或一次,结果是 1 (二进制按位亦或) 
异或:先将数据转为二进制数,然后进行按位异或

比如数字 1^3 
十进制 1 对应二进制 0001 
3 对应二进制 0011 
异或结果:2 <———— 0010 
表面上看来就是:相同数字异或一次得0 ,再异或一次该数字得到 该数字 
1^1^1=0^1=1

回到这个问题: 
不难发现 0^1^2^3……^100=100 (这里一共101个数字,异或了100次) 
如果没有重复(加粗是上一等式括号的结果) 
=(1^2)^3……^100 
=(3^3)^4^5………^100 
=(0^4)^5^6……^100 
=(4^5)^6^7……^100

……………… 
=100 
假设重复数字位k, 
那么 (0^1^2^……^100)^100=0 
0^k=k 
即 (0^1^2^……^100)^100^k=k; 
注意:异或的结果是与顺序无关的

代码实现:
 

int findrep(int a[])
{
	int temp=0;
	for(int i=0;i<101;i++)
	{
		temp=temp^a[i];
	}
	return temp^100;
}

原文作者:https://blog.csdn.net/qq_36922927/article/details/80753400

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147230.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java链表应用

    Java链表应用链表类publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=val;}}1、返回倒数第k个结点前后指针法需要考虑k大于链表长度的情况publicclassSolution{publicL…

    2022年5月23日
    32
  • Python爬取天气数据及可视化分析

    Python爬取天气数据及可视化分析Python爬取天气数据及可视化分析文章目录Python爬取天气数据及可视化分析说在前面1.数据获取请求网站链接提取有用信息保存csv文件2.可视化分析当天温度变化曲线图当天相对湿度变化曲线图温湿度相关性分析图空气质量指数柱状图风向风级雷达图未来14天高低温变化曲线图未来14天风向风级雷达图未来14天气候分布饼图3.结论4.代码框架附源代码说在前面天气预报我们每天都会关注,我们可以根据未来的天气增减衣物、安排出行,每天的气温、风速风向、相对湿度、空气质量等成为关注的焦点。本次使用python中req

    2022年6月27日
    22
  • 全是精华的模电专题复习资料:基本放大电路知识点

    全是精华的模电专题复习资料:基本放大电路知识点目录一、BJT组成的基本放大电路二、FET组成的基本放大电路一、BJT组成的基本放大电路根据上图解答以下三个问题:1、最大不失真输出电压:Uom=2、三种组态之间的性能差异:3、分析任何放大电路均为先静态Q、后动态Au、Ri、Ro。二、FET组成的基本放大电路…

    2022年6月20日
    28
  • IDEA设置背景颜色和字体「建议收藏」

    今天在使用Idea的时候,背景色在眼睛长时间的使用下,会使眼睛感到不舒服,(而且还不好看)所以在设置了一下了护眼色。背景色设置:点击File找到Settings点进去在Editor—>ColorScheme(颜色方案设置)选择General,在General选择Text点DefaulttextDefaulttext(表示的是默认的文本颜色设置)我设置的颜色是…

    2022年4月13日
    68
  • 自定义手机壁纸_ios怎么自定义动态壁纸

    自定义手机壁纸_ios怎么自定义动态壁纸拥有Android智能手机的主要好处之一就是自定义。有了足够的专业知识,您可以对它的几乎所有方面进行自定义9。值得扎根的Android惊人的定制9值得扎根的Android惊人的定制让您的设备扎根了吗?看完所有这些很棒的仅根定制之后,您可能会改变主意。阅读更多内容,但首先应该开始,是否打算建立根目录。什么是自定义ROM?了解AndroidLingo根源是什么?什么是自定义ROM?学习Android…

    2025年8月20日
    5
  • php 删除一维数组中某一个值元素的操作方法

    php 删除一维数组中某一个值元素的操作方法

    2021年11月8日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号