C语言---单身狗问题

news2024/11/18 19:48:20

1.单身狗初阶

这个题目就是数组里面有一串数字,都是成对存在的,只有一个数字只出现了一次,请你找出来

(1)异或是满足交换律的,两个相同的数字异或之后是0;

(2)让0和每个数字都异或一遍,出现2次的经过异或就会变为0,而出现了一次的就会被保留

0^m=m,因为一个数字异或0就是这个数字本身;

2.单身狗进阶

(1)这个的进阶题目多了一个单身狗,需要把2个单独出现的数字全部打印出来

(2)我们知道5,6应该被打印出来,但是如果我们像上面的题目一样进行异或操作,最后的结果

就是5和6异或,那么最后的结果既不是5,也不是6,显然不符合题意;

(3)这个时候最好的方法就是进行分组,而且要把5,6分开,最后分别在这两个组里面进行异或

最后一个组剩下5,一个组剩下6,这样就得到了我们想要的结果;

(4)明确了思路,我们就要着手准备如何进行分组,分组的依据是什么,才能够把5,6分开;

(5)1:0001

         2:0010

         3:0011

         4:0100

         5:0101

         6:0110

5^6==0011;

我们通过观察这几个数字的二进制序列可以发现,1,3,5的二进制最低位的数字是1,

2 4 6的二进制最低位的数字是0,这个就可以作为我们的分组依据;

(6)程序应该如何设计呢,主函数这样设计:

findnum是我们的自定义函数,因为形参的改变不会影响实参,形参是实参的一份临时拷贝,所以我们传递地址,这样形参的改变就可以同步到实参了;

(7)我们的自定义函数这样设计:

我们让数组里面的数字和1进行按位与,根据他们的二进制序列,1,3,5进行之后的结果是1,2,4,6进行之后的结果是0;在它们各自的组内进行异或,最后得到的5给了*pm1,6给了*pm2

(8)返回主函数之后就得到了2条单身狗,就是5,6打印了出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1505906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDBC和连接池

JDBC和连接池 大纲 JDBC连接数据库的方式 具体案例 JDBC 需求:满足Java程序能对多个不同的数据库进行操作,而创建了一种接口,实现对数据库的规范 连接数据库的方式 1.方法1 先创建一个Driver对象,然后设置连接到的数据…

操作系统常见问题

操作系统常见问题 调度相关调度算法进程、线程、协程 同步相关进程间通信方式死锁(deadlocks)是指两个或多个进程在等待对方释放资源时发生的一种状态。操作系统原子操作多线程锁 内存相关虚拟内存页表用户空间分布线程切换上下文线程拥有哪些资源栈中主…

双向数据绑定:Vue.js的魔法背后

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

python单例模式应用之pymongo连接

文章目录 单例模式介绍模块简介安装简单的连接使用单例模式的连接单例类的实现配置的使用单例模式的测试 单例连接的调用 https://gitee.com/allen-huang/python 单例模式介绍 适用场景: 单例模式只允许创建一个对象,因此节省内存,加快对象访…

网页设计中通过css在一个固定宽度的div容器中让一行超出的文本隐藏并省略掉

实现效果: 实现的关键css: overflow:hidden;这个表示超出容器的内容进行隐藏 white-space:nowrap;表示文本不断行显示 text-overflow:ellipsis;表示超出的部分用省略号进行表示 …

定制repo(不再切换python和google源)

文章目录 定制repo(不再切换python和google源)前言各用各的repo定制repo2/repo3源码自动识别repo2/repo3项目完整解决方案: 定制repo(不再切换python和google源) 众知,Android/AOSP/ROM系统开发&#xff0c…

C语言-写一个简单的Web服务器(一)

基于TCP的web服务器 概述 C语言可以干大事,我们基于C语言可以完成一个简易的Web服务器。当你能够自行完成web服务器,你会对C语言有更深入的理解。对于网络编程,字符串的使用,文件使用等等都会有很大的提高。 关于网络的TCP协议在…

太长不看!公众号文章AI省流助手,从文章直接跳转总结!

大家好啊,我是豆小匠。 好久不见,最近在完善独立开发的小程序:豆流便签。 这期来分享新开发的一个功能:公众号文章直接跳转AI总结,并提供保存便签功能。 1. 前置条件 只支持解析公众号文章。只支持解析文字&#xf…

基于神经网络的偏微分方程求解器再度取得突破,北大字节的研究成果入选Nature子刊

目录 一.引言:神经网络与偏微分方程 二.如何基于神经网络求解偏微分方程 1.简要概述 2.基于神经网络求解偏微分方程的三大方向 2.1数据驱动 基于CNN 基于其他网络 2.2物理约束 PINN 基于 PINN 可测量标签数据 2.3物理驱动(纯物理约束) 全连接神经网路(FC-NN) CN…

STM32CubeMX学习笔记15---CAN总线

1、CAN简介 CAN总线网络的结构有闭环和开环两种形式 闭环结构的CAN总线网络,总线两端各连接一个1202的电阻。这种CAN总线网络由ISO11898标准定义,是高速、短距离的CAN网络,通信速率为125kbit/s到1Mbit/s。在1Mbit/s通信速率时&#x…

IOS使用Unity容器动态加载3D模型

项目背景 我们的APP是一个数字藏品平台,里面的很多藏品需要展示3D模型,3D模型里面可能会包含场景,动画,交互。而对应3D场景来说,考虑到要同时支持iOS端,安卓端,Unity是个天然的优秀方案。 对于Unity容器来说,需要满足如下的功能: 1.在APP启动时,需要满足动态下载最…

【开源】SpringBoot框架开发软件学院思政案例库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理员2.2 普通教师 三、系统展示四、核心代码4.1 查询思政案例4.2 审核思政案例4.3 查询思政课程4.4 思政案例点赞4.5 新增思政案例评语 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的软件学…

OCP Java17 SE Developers 复习题09

答案 A, E. For the first scenario, the answer needs to implement List because the scenario allows duplicates, narrowing it down to options A and D. Option A is a better answer than option D because LinkedList is both a List and a Queue, and you just nee…

2024年【化工自动化控制仪表】新版试题及化工自动化控制仪表考试试题

题库来源:安全生产模拟考试一点通公众号小程序 化工自动化控制仪表新版试题是安全生产模拟考试一点通总题库中生成的一套化工自动化控制仪表考试试题,安全生产模拟考试一点通上化工自动化控制仪表作业手机同步练习。2024年【化工自动化控制仪表】新版试…

Go语言必知必会100问题-20 切片操作实战

前言 有很多gopher将切片的length和capacity混淆,没有彻底理清这两者的区别和联系。理清楚切片的长度和容量这两者的关系,有助于我们合理的对切片进行初始化、通过append追加元素以及进行复制等操作。如果没有深入理解它们,缺少高效操作切片…

如何查看centos7中启动了几个nginx

在 CentOS 7 中,最常用的几种方法如下: 1. 使用 ps 命令 ps 命令可以用来显示当前系统中正在运行的进程。要查看所有 Nginx 进程,可以使用以下命令: ps -ef | grep nginx这个命令会列出所有包含“nginx”字符串的进程。输出中会…

SDM450核心板_高通SDM450安卓核心板模块性能参数

高通SDM450核心板是基于SDM450移动平台开发的一款高性能核心板。采用领先的14纳米技术,该核心板为高端智能设备提供了卓越的性能和优质的体验。板载2GB16GB的内存(可选配4GB32GB),双 ISP(图像传感器处理器)支持丰富的照片细节和双摄像头体验,…

设计模式:观察者模式 ⑧

一、思想 观察者模式是一种常见的设计模式,也称作发布-订阅模式。它主要解决了对象之间的通知依赖关系问题。在这种模式中,一个对象(称作Subject)维护着一个对象列表,这些对象(称作Observers)都…

每日学习笔记:C++ STL 的Array

Array定义 Array模板有两个参数,一个是元素类型,一个是数组大小 Array初始化 Array的操作 Array当作C数组 Array的Tuple接口

NLP:文本相似度计算

前面我们已经实现了把长段的句子,利用HanLP拆分成足够精炼的分词,后面我们要实现“联想”功能,我这里初步只能想到通过文本相似度计算来实现。下面介绍一下文本相似度计算 (当然HanLP也有文本相似度计算的方法,这里我…