当前位置: 首页 > news >正文

C语言——找单身狗1

题目描述:

在一个整形数组中,只有一个数字出现一次,其他数组都是成对出现的,找出那个只出现一次的数字。

例如:

数组中:1,2,3,4,5,4,3,2,1,只有5出现一次,其他数字都出现2次

 解法思路:

可以使用按位异或来解决。异或运算符 ^ ,如果两个数的二进制数相对应的位不同,结果为0,相同则为1。

例如:2 的二进制数为0010,3 的二进制数为0011,那么2^3 结果为 0001。任何数和0异或都为本身

#include <stdio.h>
int Fund(int arr2[], int n)
{int count = 0;int i = 0;for (i = 0; i < n; i++){count ^= arr2[i];}return count;
}int main()
{int arr[] = { 1,2,3,4,5,4,3,2,1 };int sz = sizeof(arr) / sizeof(arr[0]);int ret = Fund(arr, sz);printf("只出现一次的数字为:%d\n", ret);return 0;
}

关键点就在于,Fund函数中遍历数组中的每一位成员,有两个相同的就会互相抵消为0,最后只会留下只有一个的数与0异或。

http://www.lryc.cn/news/332541.html

相关文章:

  • Day82:服务攻防-开发组件安全Solr搜索Shiro身份Log4j日志本地CVE环境复现
  • 网络协议——VRRP(虚拟路由冗余协议)原理与配置
  • Elasticsearch:我们如何演化处理二进制文档格式
  • 第八讲 Sort Aggregate 算法
  • clickhouse MPPDB数据库--新特性使用示例
  • MATLAB多级分组绘图及图例等细节处理 ; MATLAB画图横轴时间纵轴数值按照不同sensorCode分组画不同sensorCode的曲线
  • 20240405,数据类型,运算符,程序流程结构
  • Prometheus+grafana环境搭建Nginx(docker+二进制两种方式安装)(六)
  • 贝叶斯逻辑回归
  • Win10 下 Vision Mamba(Vim-main)的环境配置(libcuda.so文件无法找到,windows系统运行失败)
  • 4 万字全面掌握数据库、数据仓库、数据集市、数据湖、数据中台
  • Leetcode 64. 最小路径和
  • FANUC机器人故障诊断—报警代码更新(三)
  • mysql 本地电脑服务部署
  • 爬虫学习第一天
  • labview如何创建2D多曲线XY图和3D图
  • 【华为OD机试】芯片资源限制(贪心算法—JavaPythonC++JS实现)
  • 服务器硬件构成与性能要点:CPU、内存、硬盘、RAID、网络接口卡等关键组件的基础知识总结
  • STC89C51学习笔记(四)
  • Arcgis Pro地理配准
  • 数字转型新动力,开源创新赋能数字经济高质量发展
  • 解决JavaWeb中IDEA2023新版本无法创建Servlet的问题
  • 关于oracle切换mysql8总结
  • Docker 容器编排技术解析与实践
  • 微信小程序 ---- 慕尚花坊 订单列表
  • Tuxera2023 NTFS for Mac下载,安装和序列号激活
  • 移动Web学习04-移动端订单结算页PC端个人中心页面
  • Linux基础篇:Linux网络yum源——以配置阿里云yum源为例
  • 2024.2.10力扣每日一题——二叉树的中序遍历
  • MVP惊现神秘买家,或疑为华尔街传奇投资人?