转自:http://zhedahht.blog.163.com/题目:一个数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。分析:在博客http://zhedahht.blog.163.com/blog/static/2541117420071128950682...
分类:
编程语言 时间:
2015-03-10 22:57:20
阅读次数:
214
原题地址遍历所有数字,统计每一位出现的次数,模3即为只出现一次的数字在那一位的情况。代码: 1 int singleNumber(int A[], int n) { 2 int count[32] = {0}; 3 4 for (int i = 0; i >= 1; 8 } 9 ...
分类:
其他好文 时间:
2015-01-25 18:08:31
阅读次数:
117
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。解法:位异或运算思路:将问题简化为除了一个数字外,其他数字都出现两次。将数组的结果异或起来,因为出现两次的数组异或结果为0,所以结果异或的结果即为出现一次...
分类:
编程语言 时间:
2015-01-23 16:19:05
阅读次数:
129
问题:一个整数数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。 分析:这是一个很新颖的关于位运算的题目。 首先考虑这个问题的一个简单版本:一个整数数组里除了一个数字之外,其他的数字都出现两次,请写程序找出这个只出现一...
分类:
编程语言 时间:
2015-01-20 22:00:54
阅读次数:
694
实现代码:1、PHP实现:<?php
$arr=array(1,1,5,3,2,2);
//因为每个元素都需要分别和其他的元素进行比较
//所以需要双重循环
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr);$j++){
//此处目的是避免数组元素和自己进行比较
if($i!=$j){
//找出相等的两..
分类:
编程语言 时间:
2014-12-29 18:34:26
阅读次数:
180
题目:
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),控件复杂度为O(1)
算法思路:
如果一个数组当中,只要一个数字出现一次,其他都是出现两次,那么我们只要把所有的数进行异或得到的就是结果
现在有两个数字出现一次,那么我们还是异或所有的数,最后的到的结果就是这两个不想等的数字的异或结果
比如 2 4 3 6 3 2...
分类:
编程语言 时间:
2014-12-27 13:58:44
阅读次数:
258
题目:一个数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。
分析:如果我们把数组中所有数字都异或起来,那最终的结果(记为x)就是a、b、c三个数字的异或结果(x=a^b^c)。其他出现了两次的数字在异或运算中相互抵消了。
我们可以证明异或的结果x不可能是a、b、c三个互不相同的数字中的任何一个。
由于x与a、b、c都各不相同,因此x^a、x...
分类:
编程语言 时间:
2014-12-24 20:10:52
阅读次数:
287
题目1351:数组中只出现一次的数字
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2597
解决:766
题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
输入:
每个测试案例包括两行:
第一行包含一个整数n,表示数组大小。2
第二行包含n个整数,表示数组元素,元素均...
分类:
编程语言 时间:
2014-12-20 11:44:17
阅读次数:
244
题目为:
Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without...
分类:
其他好文 时间:
2014-12-12 23:39:44
阅读次数:
473
题目1351:数组中只出现一次的数字
时间限制:1 秒内存限制:32 兆特殊判题:否提交:2582解决:758
题目描述:
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
输入:
每个测试案例包括两行:
第一行包含一个整数n,表示数组大小。2<=n <= 10^6。
第二行包含n个整数,表示数组元素,元素均为int。
输出:
对应每个测试案例,输出数组...
分类:
编程语言 时间:
2014-12-11 00:18:55
阅读次数:
176