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

【中等】在其他数都出现偶数次的数组中找到出现奇数次的数-Java:原问题

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程大家好!欢迎来到我的网站! 人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑,人工智能时代就要来临了,科… 继续阅读 前言https://www.captainai.net/troubleshooter

package live.every.day.ProgrammingDesign.CodingInterviewGuide.BitwiseOperation; /** * 在其他数都出现偶数次的数组中找到出现奇数次的数 * * 【题目】 * 给定一个整型数组arr,其中只有一个数出现了奇数次,其他的数都出现了偶数次,打印这个数。 * * 【进阶】 * 有两个数出现了奇数次,其他的数都出现了偶数次,打印这两个数。 * * 【要求】 * 时间复杂度为O(N),额外空间复杂度为O(1)。 * * 【难度】 * 中等 * * 【解答】 * 整数n与0异或的结果是1,整数n与整数n异或的结果是0。所以,先申请一个整型变量,记为eO。在遍历数组的过程中,把eO和每个数 * 异或(eO=eO^当前数),最后eO的值就是出现了奇数次的那个数。这是什么原因呢?因为异或运算满足交换律与结合律。为了方便说明, * 我们假设A,B,C这三个数出现了偶数次,D这个数出现了奇数次,并且出现的顺序为:C,B,D,A,A,B,C。因为异或运算满足交换 * 律和结合律,所以任意调整异或的顺序也不会改变最终eO的值,那么按照原始顺序异或得到的eO结果与按照如下顺序异或出的eO结果 * 是相同的:A,A,B,B,C,C,D。而按照这个顺序的异或最终结果就是D。也就是说,先异或还是后异或某一个数,对最终的结果是 * 没有任何影响的,最终结果等同于连续异或同一个出现偶数次的数之后,再连续异或下一个出现偶数次的数,等到所有出现偶数次的数 * 异或完,异或结果肯定是0,最后再去异或出现奇数次的数,最终结果自然是出现奇数次的数。所以对任何排列的数组,只要这个数组 * 有一个数出现了奇数次,另外的数出现了偶数次,最终异或结果都是出现了奇数次的数。 * 请参看printOddTimesNum1方法。 * * @author Created by LiveEveryDay */ public class InOtherNumAppearEvenArrayFindAppearOddNum1 { public static void printOddTimesNum1(int[] arr) { int eO = 0; for (int cur : arr) { eO ^= cur; } System.out.println(eO); } public static void main(String[] args) { int[] arr = {1, 2, 3, 3, 2, 8, 1}; printOddTimesNum1(arr); } } // ------ Output ------ /* 8 */
http://www.jsqmd.com/news/696959/

相关文章:

  • 快速部署像素心智情绪解码器:在16-bit像素工坊里玩转情绪分析
  • 深圳市超鸿再生资源回收有限公司--深圳龙华区商场新旧中央空调回收价格 - LYL仔仔
  • 从一根烧掉的射频功放管说起:聊聊阻抗不匹配的‘血泪史’与Smith圆图避坑指南
  • 5分钟搞定!用Moonlight TV在大屏电视上畅玩PC游戏 [特殊字符]
  • 分析2026年河南智能喷浆机品牌,单管喷浆机怎么选择 - 工业品网
  • 云原生微服务架构最佳实践
  • 山西安居搬家:晋源专业的办公室搬迁电话 - LYL仔仔
  • TCP-延时应答机制的疑惑解析
  • 解析Anda:轻量级应用分发部署平台的设计与实战
  • 避开STM32硬件I2C的坑:我是如何用模拟SMBus稳定驱动BQ4050的
  • 计算机毕业设计:Python股票交易可视化管理系统 Django框架 requests爬虫 数据分析 可视化 大数据 大模型(建议收藏)✅
  • 讲讲新型钢筋弯曲中心,河南宝润机械的产品靠谱吗? - 工业推荐榜
  • 零成本做调研,网上免费的在线问卷调查平台推荐,功能与限制全面横评 - 品牌排行榜
  • 上市公司-人工智能-词频词汇(2001-2023年)
  • 用wxWidgets给老旧C++控制台程序加个GUI界面:保姆级改造教程(附CMake配置)
  • Python计算机视觉实战:边缘检测、人脸识别与图像分类
  • 【中等】在其他数都出现偶数次的数组中找到出现奇数次的数-Java:进阶问题
  • 如何快速上手InstagramApiSharp:.NET平台的完整私人Instagram API指南
  • 2026年寻求河南钢筋加工设备制造企业,这类设备费用多少 - 工业设备
  • 半监督学习中的标签传播算法原理与实践
  • 如何配置Tern:终极编辑器集成配置教程
  • 客户体验管理从这里开始——可以做NPS用户满意度调查的网站,功能差异深度拆解 - 品牌排行榜
  • 快速部署MedGemma-X:体验对话式AI阅片,支持中文自然语言
  • DS4Windows终极指南:三步解决PS4手柄PC适配难题
  • 分析智能输送无人值守生产线,开元盛世的性价比怎么样? - 工业品牌热点
  • oh-my-codex:基于命令行的个人代码片段管理器,提升开发效率
  • Giraffe内容协商与流式传输:构建高效API的高级技巧
  • 3步搞定显卡驱动残留:Display Driver Uninstaller终极清理指南
  • Omni-Vision Sanctuary在YOLOv11生态中的角色:数据标注与模型优化建议生成
  • 机器学习特征选择的核心价值与Weka实战指南