C语言:一个数组中只有两个数字是出现一次
//1.一个数组中只有两个数字是出现一次,
//其他所有数字都出现了两次。
//找出这两个数字,编程实现。a //^=单独两个数的^结果
//单独出现的两个数不同位的标记
//position: ^结果中第一个出现1的位置
//position位两个数肯定有一个为0 ,一个为1
//把数组分成两部分
//1:position为1
//2:position为0
//每一部分都有一个只出现一次的数字,其他的都是成对出现
//每一部分^结果为单独出现的数字
#include<stdio.h>
#include<stdlib.h> int main()
{
int arr[] = { , , , , , , , };
int len = sizeof(arr) / sizeof(arr[]);
int ret = ;
int i = ;
int pos = ;
int x = ;
int y = ;
//整体^一次
for (i = ; i < len; i++)
{
ret ^= arr[i];
}
//寻找第一个1的位置
for (i = ; i < ; i++)
{
if ((ret >> i) & == )
{
pos = i;
break;
}
}
//把数组分成两部分
for (i = ; i < len; i++)
{
//如果pos位置为1
if (((arr[i] >> pos)&)==)
{
x ^= arr[i];
}
//位置为0
else
{
y ^= arr[i];
}
}
printf("%d %d", x, y);
system("pause");
return ;
}
C语言:一个数组中只有两个数字是出现一次的更多相关文章
- C#把某个数组的一部分复制到另一个数组中的两种方法:Buffer.BlockCopy和Array.Copy
		static void Main(string[] args) { , , , , , }; ;//目标数组大小 int int_size = sizeof(int);//用于获取值类型的字节大小. ... 
- 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007
		include "stdafx.h" #include<iostream> #include<vector> #include <algorithm& ... 
- 【leetcode】Merge Sorted Array(合并两个有序数组到其中一个数组中)
		题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assum ... 
- 42.输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,  如果有多对数字的和等于S,输出两个数的乘积最小的。
		输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, 如果有多对数字的和等于S,输出两个数的乘积最小的. 这道题有很多烟雾弹: 首先如果有多对,最前面的两个数就是乘积最小的, ... 
- 笔试题&面试题:找出一个数组中第m小的值并输出
		题目:找出一个数组中第m小的值并输出. 代码: #include <stdio.h> int findm_min(int a[], int n, int m) //n代表数组长度,m代表找 ... 
- js向一个数组中插入元素的几个方法-性能比较
		向一个数组中插入元素是平时很常见的一件事情.你可以使用push在数组尾部插入元素,可以用unshift在数组头部插入元素,也可以用splice在数组中间插入元素. 但是这些已知的方法,并不意味着没有更 ... 
- LeetCode 80 Remove Duplicates from Sorted Array II(移除数组中出现两次以上的元素)
		题目链接:https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/#/description 给定一个已经排好序的数组 ... 
- C#实现如何判断一个数组中是否有重复的元素   返回一个数组升序排列后的位置信息--C#程序举例   求生欲很强的数据库   别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
		C#实现如何判断一个数组中是否有重复的元素 如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ... 
- 某整形数组中除了两个单身整数外, 其余的整数都是成对出现的, 利用C/C++代码求出这两个单身整数。 要求: 时间复杂度o(n), 空间复杂度o(1)------某公司招聘试题
		先看看这个题目:某整形数组中除了两个单身整数外, 其余的整数都是成对出现的, 利用C代码求出这两个单身整数. 要求: 时间复杂度o(n), 空间复杂度o(1). 我们先用最傻瓜的方式来做吧: #inc ... 
随机推荐
- zabbix 添加 ROS 软路由监控 WinBox设置
			如图设置 
- ZT Abstract Factory
			实际上,Abstract Factory 模式是为创建一组(有多类)相关或依赖的对象提供创建接口,而 Factory 模式正如我在相应的文档中分析的是为一类对象提供创建接口或延迟对象的创建到子类中实现 ... 
- [EffectiveC++]item37:绝不重新定义继承而来的缺省参数值
			绝不重新定义继承而来的缺省参数值 静态类型 动态类型 
- Oracle  Update语句
			Oracle没有update from语法,可以通过四种写法实现同样的功能: 一.标准update语法(常用.速度可能最慢) 当更新的表示单个或者被更新的字段不需要关联表带过来,此法是最好的选择. u ... 
- 为什么S/4HANA的生产订单创建后会自动release
			在S/4HANA系统里我们观察到通过函数CO_61_ORDER_EDIT创建的生产订单会自动释放Release: 通过第86行的IF语句的条件检测不难找到原因. 变量PROFILE_TMP的类型为TC ... 
- make menuconfig 出错解决
			问题: hank@hank-virtual-machine:/opt/Emb/linux-2.6.30.4$ sudo make menuconfig *** Unable to find the n ... 
- Vue-Resource请求PHP数据失败的原因
			在写一个Vue项目的时候发现在使用Vue-Resource的post方法请求PHP数据时,完全没有反应,查阅资料才知道没有加配置参数: { emulateJSON:true } 这个配置参数的意思是: ... 
- 区间DP学习总结
			这段时间学习了区间DP,所以试着把学到的东西稍作总结,以备不时之需. 学习区间DP首先要弄清区间DP是为了解决什么问题:一般的DP主要是特征是一次往往只操作一个数值或者存储可以不连续的物品的状态(比如 ... 
- 【HAOI2010】工厂选址题解
			题目描述 某地区有m座煤矿,其中第i号矿每年产量为ai吨,现有火力发电厂一个,每年需用煤b吨,每年运行的固定费用(包括折旧费,不包括煤的运费)为h元,每吨原煤从第i号矿运到原有发电厂的运费为Ci0(i ... 
- Linux总结(十二)set_uid set_gid stic_bit 软链接 硬链接
			一 set_uid 之前我们修改普通用户的登陆密码,都是以管理员身份在操作,比如我们在lv账户下,我们使用sudo passwd lv 重置lv账户密码,此时我们直接拿到root权限忽略掉了文件权限的 ... 
