博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找出数组中两个只出现一次的数字
阅读量:4328 次
发布时间:2019-06-06

本文共 1136 字,大约阅读时间需要 3 分钟。

题目:一个整数数组里除了两个数字之外,其他的数字都出现了两次,找出这两个只出现一次的数字。

要求:时间复杂度是O(n),空间复杂度是O(1)。

答:

#include "stdafx.h"#include 
using namespace std;bool isBitOne(int number, int index){ number = number >> index; if (number & 1) { return true; } return false;}//找出数组中两个只出现一次的数字void FindNumber(int arr[], int length, int &valOne, int &valTwo){ if (NULL == arr || length <= 0) { return; } int allXor = arr[0]; for (int i = 1; i < length; i++) { allXor ^= arr[i]; } int index = 0; while (!(allXor & 1) && index < 32) { index++; allXor = allXor >> 1; } for (int i = 0; i < length; i++) { if (isBitOne(arr[i], index)) { valOne ^= arr[i]; } else { valTwo ^= arr[i]; } }}int _tmain(int argc, _TCHAR* argv[]){ int arr[] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 3, 4, 5, 6, 8, 9, 7, 10}; int valOne = 0; int valTwo = 0; FindNumber(arr, sizeof(arr)/sizeof(arr[0]), valOne, valTwo); cout<
<<" "<

运行界面如下:

转载于:https://www.cnblogs.com/venow/archive/2012/08/30/2663178.html

你可能感兴趣的文章
阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解
查看>>
阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
查看>>
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_04.ssm整合之编写SpringMVC框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_08.ssm整合之Spring整合MyBatis框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_19、SpringBoot个性化启动banner设置debug日志...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_20、SpringBoot2.x配置全局异常实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_23、SpringBoot2.x启动原理概述...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_34、SpringBoot整合Mybatis实操和打印SQL语句...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
查看>>