【C语言】给一组组数,仅仅有两个数仅仅出现了一次,其它全部数都是成对出现的,找出这两个数。
//给⼀组组数,仅仅有两个数仅仅出现了一次。其它全部数都是成对出现的,找出这两个数。
#include <stdio.h>
int find_one_pos(int num) //找一个为为1的位置
{
int n = 0;
while(num)
{
if (num & 1 == 1)
break;
else
{
n++;
num >>= 1;
}
}
return n;
}
void find_two_differ(int arr[], int len, int *num1, int *num2)
{
int i = 0;
int pos = 0;
int ret = 0;
*num1 = 0;
*num2 = 0;
for (i = 0; i < len; i++)
{
ret ^= arr[i];
}
pos = find_one_pos(ret);
for (i = 0; i < len; i++)
{
if (arr[i] & (1 << pos))
*num1 ^= arr[i];
else
*num2 ^= arr[i];
}
}
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 1, 2, 3 };
int ret1 ;
int ret2 ;
find_two_differ(arr, sizeof(arr) / sizeof(arr[0]), &ret1, &ret2);
printf("num1=%d\nnum2=%d\n", ret1, ret2);
return 0;
}
【C语言】给一组组数,仅仅有两个数仅仅出现了一次,其它全部数都是成对出现的,找出这两个数。的更多相关文章
- FZU みねちゃんの修罗场(从一堆出现三次的数中找出出现两次的数)
みねちゃんの修罗场 Time Limit: 5000 mSec Memory Limit: 1024 KB Description みねちゃん是个成绩优秀大学二年级学生,本来是和像自己妹妹一般 ...
- 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数
给定一个整型数组,除了一个元素只出现一次外,其余每个元素都出现了三次.求出那个只出现一次的数.注意:你的算法应该具有线性的时间复杂度.你能否不使用额外的内存来实现?详见:https://leetcod ...
- LeetCode 260 Single Number III 数组中除了两个数外,其他的数都出现了两次,找出这两个只出现一次的数
Given an array of numbers nums, in which exactly two elements appear only once and all the other ele ...
- LeetCode 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数
Given an array of integers, every element appears three times except for one, which appears exactly ...
- 260 Single Number III 数组中除了两个数外,其他的数都出现了两次,找出这两个只出现一次的数
给定一个整数数组 nums,其中恰好有两个元素只出现一次,其他所有元素均出现两次. 找出只出现一次的那两个元素.示例:给定 nums = [1, 2, 1, 3, 2, 5], 返回 [3, 5].注 ...
- R语言中如何找出在两个数据框中完全相同的行(How to find common rows between two dataframe in R?)
I would like to make a new data frame which only includes common rows of two separate data.frame. ex ...
- 算法面试题(python)——如何找出数组中出现一次的数
题目描述: 一个数组里,除了三个数是唯一出现的,其余的数都出现了偶数次,找出这三个数中任意一个.比如数组序列为[1,2,4,5,6,4,2],只有1.5.6这三个数字是唯一出现的,数字2.4均出现了偶 ...
- 基于visual Studio2013解决面试题之0608找出两个只出现一次的数
题目
- 【算法编程】找出仅仅出现一次的数-singleNumber
题目意思: 一个数值数组中,大部分的数值出现两次,仅仅有一个数值仅仅出现过一次,求编程求出该数字. 要求,时间复杂度为线性,空间复杂度为O(1). 解题思路: 1.先排序.后查找. 因为排序的最快时间 ...
随机推荐
- 直接修改class文件内容即使是文本会导致App异常,正确方式是修改java再用生成的class替换掉原有的class
前几天来了个小任务,把某项目中某人的邮件地址改了下. 由于对项目不熟悉,于是采用find方式找出app中所有包含某人邮件地址的文件都找出来了. xml,properties大约三四个,还有两个clas ...
- Linux之nohup命令:实现退出终端后程序继续后台运行
转自:http://tech.ccidnet.com/art/302/20070618/1115599_1.html 简单而有用的nohup命令在UNIX/LINUX中,普通进程用&符号放到后 ...
- @QueryParam和@PathParam使用方法比较
1 先来看@queryparam Path("/users") public class UserService { @GET @Path("/query") ...
- IO介绍
IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. 比如你打开 ...
- CLR 之 内容概述
第 I 部分 CLR 基础 第 1 章 CLR的执行模型 第 2 章 生成.打包.部署和管理应用程序及类型 第 3 章 共享程序集和强命名程序集 第 II 部分 设计类型 第 4 章 类型基础 第 5 ...
- htmlayout做的虎鲸宝宝
昨天在auto论坛上偶遇一哥们作的虎鲸宝宝例子,尽管作者提供了auto的源码… … 一个C++老农的悲哀.不过大概看了下流程,最后想想:选什么样的语言已经不重要了. 最重要的是里边的资源文件可以拿来耍 ...
- php之表单-1
PHP 表单和用户输入 PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入. PHP 表单处理 有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 ...
- 通过jaxws-ri创建webservice服务端和客户端
1. 获得开发包 当然是到 SUN 的开发网站下载 JAX-WS RI,或者下载我的网盘备份 ,下载下来的只是一个jar包,参考官网上的方法在命令行调用:java -jar JAXWS2.1.2-20 ...
- Tomcat servers.xml 无注释版
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOW ...
- 微信小程序开发思路
小程序还没有完全开放,不能真实体验,但通过文档和开发工具,可以了解到他的开发思路 下面就介绍下小程序的开发方式,希望能帮助有兴趣的朋友对整体思路有个快速了解 整体结构 默认示例项目的目录结构 从后缀名 ...