C语言题目之单身狗2
文章目录
- 一、题目
- 二、思路
- 三、代码实现
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目

二、思路
第一步
在c语言题目之打印单身狗我们已经讲解了在一组数据中出现一个单身狗的情况,而本道题是出现两个单身狗的情况。根据一个数异或上0等于数本身,一个数异或数本身等于0。我们可以知道题目中的所有数异或之后会得到5和6的异或结果。也就是如下图:

第二步
在第一步的过程中,我们得到两个数5和6的异或结果0011,根据上图我们可以知道,当两个数出现二进制位不同的时候,他们的异或结果为1,既然两个数异或结果是两个数的二进制位不同的结果,那我们可以判断5和6的出现二进制位不同的地方,也就是出现1的地方,然后我们根据二进制位出现1的地方,将一堆数分成两个部分,这样不就将两个单身狗进行分开来了么。

第三步
在第二步我们已经将所有的数分成两堆,那么接下来,只要将两堆数分别异或不就得到了两个单身狗数嘛。
三、代码实现
void findnum(int arr[], int sz, int* pnum1, int* pnum2)
{//得到所有数的异或结果int i = 0;int sum = 0;for (i = 0; i < sz; i++){sum ^= arr[i];}//判断位数不同的那位int flag = 0;for (i = 0; i < 32; i++){if ((sum >> i) & 1) //按位与,两个都为1才为1,找到是1的位置,按位异或是1的位置的位肯定不同{flag = i;break;}}//分成两组*pnum1 = *pnum2 = 0; //这里设置为0是防止传进来的两个数不是0for (i = 0; i < sz; i++){if ((arr[i] >> flag) & 1){*pnum1 ^= arr[i]; //这里将标志位地方二进制为1的那一堆数异或起来}else{*pnum2 ^= arr[i]; //这里将标志位地方二进制为0的那一堆数异或起来}}
}
int main()
{int arr[] = { 1,2,3,4,5,1,2,3,4,6 };int sz = sizeof(arr) / sizeof(arr[0]);int pnum1 = 0;int pnum2 = 0;findnum(arr, sz, &pnum1, &pnum2);printf("%d %d",pnum1,pnum2);return 0;
}
相关文章:
C语言题目之单身狗2
文章目录 一、题目二、思路三、代码实现 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目 二、思路 第一步 在c语言题目之打印单身狗我们已经讲解了在一组数据中出现一个单身狗的情况,而本道题是出现两个单身狗的情况。根据一个数…...
Vue2学习笔记(03关于VueComponent)
1.school组件本质是一个名为Vuecomponent的构造函数,且不是程序员定义的,是Vue.extend生成的。 2.我们只需要写<school/>或<school></school>,Vue解析时会帮我们创建school组件的实例对象,即Vue帮我们执行的:new Vuecompo…...
微服务架构中常用技术框架
认证授权 Spring Security OAuth 2.0 JWT Keycloak Istio Apache Shiro 日志监控 ELK Prometheus Grafana Fluentd CI/CD Jenkins GitLab CI CircleCI ArgoCD 服务通信 gRPC REST API Apache Thrift Apache Avro Apache Dubbo OpenFegin 断路器 Hystr…...
[深度学习]Pytorch框架
1 深度学习简介 应用领域:语音交互、文本处理、计算机视觉、深度学习、人机交互、知识图谱、分析处理、问题求解2 发展历史 1956年人工智能元年2016年国内开始关注深度学习2017年出现Transformer框架2018年Bert和GPT出现2022年,chatGPT出现,进入AIGC发展阶段3 PyTorch框架简…...
华为HarmonyOS灵活高效的消息推送服务(Push Kit) - 5 发送通知消息
场景介绍 通知消息通过Push Kit通道直接下发,可在终端设备的通知中心、锁屏、横幅等展示,用户点击后拉起应用。您可以通过设置通知消息样式来吸引用户。 开通权益 Push Kit根据消息内容,将通知消息分类为服务与通讯、资讯营销两大类别&…...
[Meachines] [Medium] Querier XLSM宏+MSSQL NTLM哈希窃取(xp_dirtree)+GPP凭据泄露
信息收集 IP AddressOpening Ports10.10.10.125TCP:135, 139, 445, 1433, 5985, 47001, 49664, 49665, 49666, 49667, 49668, 49669, 49670, 49671 $ nmap -p- 10.10.10.125 --min-rate 1000 -sC -sV -Pn PORT STATE SERVICE VERSION 135/tcp open msrp…...
新版ssh客户端无法连接旧版服务器sshd的方法
新安装完的windows 版本,连Linux服务器直接报错 C:\Users\wang>ssh root192.168.110.50 Unable to negotiate with 192.168.110.50 port 22: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,kex…...
MyBatis操作数据库-XML实现
目录 1.MyBatis的简单介绍 2.MyBatis操作数据库的步骤 2.1 添加依赖 2.2 配置文件 2.3 写持久层代码 2.4 方法测试 3.MyBatis操作数据库(增删查改) 3.1 CRUD标签 3.2 参数传递 3.3 Insert-新增 3.4 Delete-删除 3.5 Update-修改 3.6 Select-查询(映射问题) 1.MyB…...
华为HarmonyOS地图服务 5 - 利用UI控件和手势进行地图交互
场景介绍 本章节将向您介绍如何使用地图的手势。 Map Kit提供了多种手势供用户与地图之间进行交互,如缩放、滚动、旋转和倾斜。这些手势默认开启,如果想要关闭某些手势,可以通过MapComponentController类提供的接口来控制手势的开关。 接口…...
解决DockerDesktop启动redis后采用PowerShell终端操作
如图: 在启动redis容器后,会计入以下界面 : 在进入执行界面后如图: 是否会觉得界面过于单调,于是想到使用PowerShell来操作。 步骤如下: 这样就能使用PowerShell愉快地敲命令了(颜值是第一生…...
react + antDesign封装图片预览组件(支持多张图片)
需求场景:最近在开发后台系统时经常遇到图片预览问题,如果一个一个的引用antDesign的图片预览组件就有点繁琐了,于是在antDesign图片预览组件的基础上二次封装了一下,避免重复无用代码的出现 效果 公共预览组件代码 import React…...
逻辑回归 和 支持向量机(SVM)比较
为了更好地理解为什么在二分类问题中使用 SVM,逻辑回归的区别,我们需要深入了解这两种算法的区别、优势、劣势,以及它们适用于不同场景的原因。 逻辑回归和 SVM 的比较 1. 模型的核心思想 • 逻辑回归: • 基于概率的模型&…...
GS-SLAM论文阅读笔记--TAMBRIDGE
前言 本文提出了一个自己的分类方法,传统的视觉SLAM通常使用以帧为中心的跟踪方法,但是3DGS作为一种高效的地图表达方法好像更侧重于地图的创建。这两种方法都有各自的优缺点,但是如果能取长补短,互相结合,那么就会是…...
[Redis面试高频] - zset的底层数据结构
文章目录 [Redis面试高频] - zset的底层数据结构一、引言二、zset 的底层数据结构1、zset 的编码方式1.1、ziplist 编码1.2、skiplist 编码 1.3、ziplist 编码适用条件1.4、skiplist 编码适用条件2、zset 的操作命令 三、zset 的性能考量1、内存效率2、搜索效率 四、总结 [Redi…...
搜维尔科技:OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作
OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作 搜维尔科技:OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作...
CentOS Linux教程(6)--CentOS目录
文章目录 1. 根目录2. cd目录切换命令3. CentOS目录介绍4. pwd命令介绍5. ls命令介绍5.1 ls5.2 ls -a5.3 ls -l 1. 根目录 Windows电脑的根目录是计算机(我的电脑),然后C盘、D盘。 Linux系统的根目录是/,我们可以使用cd /进入根目录,然后使…...
观察者模式全攻略:从设计原理到 SpringBoot 实践案例
观察者模式 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都能得到通知并自动更新。 核心思想: 观察者模式将**观…...
【MyBatis】Java 数据持久层框架:认识 MyBatis
Java 数据持久层框架:认识 MyBatis 1.CRUD 注解2.映射注解3.高级注解3.1 高级注解3.2 MyBatis 3 注解的用法举例 MyBatis 和 JPA 一样,也是一款优秀的 持久层框架,它支持定制化 SQL、存储过程,以及高级映射。它可以使用简单的 XML…...
【Delphi】通过 LiveBindings Designer 链接控件示例
本教程展示了如何使用 LiveBindings Designer 可视化地创建控件之间的 LiveBindings,以便创建只需很少或无需源代码的应用程序。 在本教程中,您将创建一个高清多设备应用程序,该应用程序使用 LiveBindings 绑定多个对象,以更改圆…...
深度学习——基础知识
深度学习的重点在于优化,其中很重要的步骤在于如何调参,会涉及到一些微积分等数学知识。不同于以往接触到的数值运算,深度(机器)学习都是关于张量Tensor(向量)的计算,Python中最常用…...
宇视出入口相机抓拍调试速成方法
宇视出入口相机抓拍调试速成方法一、背景概述智慧园区、停车场等场景已普及宇视出入口抓拍相机,用于车辆出入管控与车牌识别。现场易受光照、车速、车道环境等影响,常出现漏抓、识别率低、画面模糊等问题。传统调试无标准、耗时长、上手门槛高࿰…...
遥感影像分割选哪个?eCognition里8种方法(棋盘、多尺度、分水岭...)的实战避坑指南
遥感影像分割实战指南:eCognition八大算法深度解析与选型策略 1. 遥感影像分割的技术演进与核心挑战 在数字地球时代,高分辨率遥感影像已成为地理信息提取的重要数据源。与传统基于像素的分类方法相比,面向对象影像分析(OBIA&am…...
为内部ai工具配置taotoken实现安全可控的api调用代理
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部AI工具配置Taotoken实现安全可控的API调用代理 在企业内部开发AI工具或智能体(Agent)时,…...
国产车规芯片崛起,如何用东软睿驰NeuSAR或经纬恒润方案快速适配?
国产车规芯片与AUTOSAR方案融合实战:从芯驰MCU到NeuSAR/经纬恒润的适配指南 当一颗国产车规级MCU遇上自主AUTOSAR基础软件,这场"中国芯"与"中国魂"的相遇,正在重构汽车电子开发的成本结构与技术生态。去年某新能源车企的…...
地质建模革命:如何使用GemPy在10分钟内构建专业3D地质模型 [特殊字符]
地质建模革命:如何使用GemPy在10分钟内构建专业3D地质模型 🚀 【免费下载链接】gempy GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geologic…...
不用命令行!OpenClaw 2.7.5 Win11 专属部署,双击直达本地 AI 助手
前言 本教程专为Windows用户设计,提供可视化部署方案。通过专用部署包实现全程图形化操作,彻底告别命令行和手动配置环境。即使是零基础用户也能轻松完成部署,快速搭建专属数字员工系统,显著提升工作效率。教程完美适配Windows 1…...
如何学会自己写代码控制STM32(裸机)-GPIO篇
//总结自己的工作经验,帮助学习单片机的入门者,快速上手写代码该文章是基于STM32F401裸机代码编写思路,后续会更新增加STM32FreeRTOS首先想要写单片机的程序,你必须有扎实的C语言基础,从我多次面试的经验总结ÿ…...
Aimmy AI瞄准辅助终极指南:从零开始到游戏高手
Aimmy AI瞄准辅助终极指南:从零开始到游戏高手 【免费下载链接】Aimmy Universal Second Eye for Gamers with Impairments (Universal AI Aim Aligner (AI Aimbot) - ONNX/YOLOv8 - C#) 项目地址: https://gitcode.com/gh_mirrors/ai/Aimmy Aimmy是一款基于…...
【紧急更新】Midjourney 6.3毛发引擎重大变更!旧版Prompt失效预警+4套即插即用迁移方案(含兼容性检测脚本)
更多请点击: https://kaifayun.com 第一章:Midjourney 6.3毛发引擎重大变更全景速览 Midjourney v6.3 引入了全新重构的毛发渲染子系统(Fur Rendering Engine),标志着其在生物细节生成能力上的关键跃迁。该引擎不再依…...
3步搞定Photoshop图层批量导出:高效工具终极指南
3步搞定Photoshop图层批量导出:高效工具终极指南 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目地址: https://…...
