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

leetcode136.只出现一次的数字

解题思路:异或运算的特性

异或运算(^)有三个关键性质,非常适合解决该问题:

  1. 任何数与自身异或结果为 0a ^ a = 0
  2. 任何数与 0 异或结果为自身a ^ 0 = a
  3. 异或运算满足交换律和结合律a ^ b ^ c = a ^ c ^ b

由于数组中除目标元素外,其余元素均出现两次,根据上述性质:

  • 所有出现两次的元素异或后结果为 0(a ^ a = 0)。
  • 最终剩下的结果就是只出现一次的元素(0 ^ 目标元素 = 目标元素)。
class Solution {public int singleNumber(int[] nums) {int result = 0;for (int num : nums) {result ^= num;}return result;}
}

http://www.dtcms.com/a/394154.html

相关文章:

  • 力扣hot100:环形链表II(哈希算法与快慢指针法思路讲解)
  • 【算法】【Leetcode】【数学】统计1的个数 数位统计法
  • Kafka面试精讲 Day 21:Kafka Connect数据集成
  • MySQL 主从复制完整配置指南
  • 力扣每日一刷Day 23
  • LeetCode 53. 最大子数组和(四种解题思路)包含扩展返回最大和的数组
  • RTX 4090助力深度学习:从PyTorch到生产环境的完整实践指南——高效模型训练与优化策略
  • 23种设计模式之【桥接模式】-核心原理与 Java实践
  • LabVIEW手部运动机能实验
  • 669. 修剪二叉搜索树
  • 大QMT自动可转债申购
  • PolarCTF PWN 网络安全2023秋季个人挑战赛刷题
  • MySQL-day4_02(事务)
  • JUC(8)线程安全集合类
  • springboot中@EnableAsync有什么作用
  • Spark专题-第二部分:Spark SQL 入门(6)-算子介绍-Generate
  • C#练习题——Dictionary
  • Feign
  • SPA小说集之三《森林城市反甩锅战:ERP的权责边界》
  • Qt(模态对话框和非模态对话框)
  • 【无标题】物联网 frid卡控制
  • 【LLM LangChain】 模型绑定工具+调用工具(手动调用/LangGraph/AgentExecutor)+相关注意事项
  • 图神经网络(GNN)入门:用PyG库处理分子结构与社会网络
  • 【C++】编码表 STL简介:STL是什么,版本,六大组件,重要性以及学习方法总结
  • show_interrupts函数的进一步解析及irq_desc结构体
  • Kafka面试精讲 Day 19:JVM调优与内存管理
  • 10.vector容器
  • Linux系统介绍
  • MFC中的CMFCDynamicLayout类的介绍
  • UniScene 统一驾驶场景 | 生成语义占据 | 生成多视角视频 | 生成激光点云 CVPR2025