码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 找单身狗1


    一个数组中只有1个数字出现1次,其他数字都是成对出现,找出这个单身狗。

    对于这个问题,这里提供两种思路:

    1.暴力求解

    这种方法是最容易想到的,分别统计每个元素出现的次数,找到出现一次的那个数字即可。然而毕竟是暴力求解,这种求解方式的时间复杂度必然很高。相信大家能够写出暴力求解的代码,这里就不给出这种方法的代码了~

    2.优雅解法

    这种方法利用了异或的特点:相同为0,相异为1。a^a=0,a^0=a。另外,异或是支持交换律的,即3^5^3==3^3^5==5(大家不明白的话,可以写成二进制异或一下,就会豁然开朗,直接记住结论也行),那么我们可以利用异或的特点,将数组中每一个元素逐个异或到同一个数0上,那么最终异或的结果就是单身狗了。

    代码如下:

    1. #include <stdio.h>
    2. int find_single_dog1(int arr[],int sz)
    3. {
    4. int n = 0;
    5. int i = 0;
    6. for (i = 0; i < sz; i++)
    7. {
    8. n ^= arr[i];//异或到n上
    9. }
    10. return n;
    11. }
    12. int main()
    13. {
    14. int arr[] = { 1,2,3,4,5,1,2,3,4 };
    15. int sz = sizeof(arr) / sizeof(arr[0]);
    16. int ret = find_single_dog1(arr, sz);
    17. printf("单身狗是%d\n", ret);
    18. return 0;
    19. }

    这道题让我们更加理解了异或的特点,挺好的!

  • 相关阅读:
    Python 音频处理工具库之pydub使用详解
    vue+elementui个人健康信息网站php
    【嵌入式Linux】开发实践及补充杂文
    MySQL学习笔记之单行函数
    绁炵粡缃戠粶浠跨湡鐮旂┒鍗氬+璁烘枃涓嬭浇
    2011-2021年“第四期”数字普惠金融与上市公司匹配(根据城市匹配)/上市公司数字普惠金融指数匹配数据
    SPSS探索性分析
    DSPE-PEG-Azide DSPE-PED-N3 磷脂-聚乙二醇-叠氮脂质PFG
    Meta Starburst体验:HDR效果惊人,但体积重量劝退
    IDEA插件开发(8)---Listeners
  • 原文地址:https://blog.csdn.net/qq_48460693/article/details/133802612
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号