题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
解题思路:
无脑map可以做,这里不讨论。
另外,我们可以根据异或的性质,相同的数字异或为0,所以我们将所有的数字异或得到一个结果,找到结果中的二进制表示位中的第一个1的位置pos(其实任意位置的1都可以,注意肯定有1,不可能为0),然后把数字分为两组,第一组是pos位置为1的,以及剩下的。然后第一组内的数字进行异或得到答案1,第二组数字内的数字异或得到答案2.
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
解题思路:
无脑map可以做,这里不讨论。
另外,我们可以根据异或的性质,相同的数字异或为0,所以我们将所有的数字异或得到一个结果,找到结果中的二进制表示位中的第一个1的位置pos(其实任意位置的1都可以,注意肯定有1,不可能为0),然后把数字分为两组,第一组是pos位置为1的,以及剩下的。然后第一组内的数字进行异或得到答案1,第二组数字内的数字异或得到答案2.
上一篇:洛谷P1803 线段覆盖(贪心)
下一篇:非递归方式实现二叉树的中序遍历
一个整型数组里除了两个数字
【链接】:http://ac.jobdu.com/problem.php?pid
1. 题目描述一个整型数组里
目录1.题目描述:2.解题思路3.编程实现(Java):1.题目描述:
**题目:**输入一个整数数组,数组中只有一个数字出现了一次,而其他的数字出现了3次,
题目:给定一个只包含整数的有序数组 nums ,每个元素都会出现两次,唯有一个数只会
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M