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

只出现一次的数字(js实现,LeetCode136)

如果不考虑时间空间复杂度的话这道题可以使用暴力求解,但是题目要求必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间,所以这里用到了一个方法:异或运算a⊕a=0

 这里值得注意的是异或运算可以使用结合律,即(a⊕b)⊕c=a⊕(b⊕c)(类比加法)

利用异或运算 a⊕a=0 的性质,我们可以用异或来「消除」所有出现了两次的元素,最后剩下的一定是只出现一次的元素。所以一次遍历即可求得结果

/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function(nums) {
        let ans = 0;
    for(let i = 0; i < nums.length; i++){
        ans ^= nums[i];
    }
    return ans;
};

 

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

相关文章:

  • Vue 中使用 ECharts
  • IntelliJIDEA中实现Spring Boot多实例运行:修改配置与批量启动详解
  • How to install vmware workstation pro on Linux mint 22
  • 在 spring tool suite 如何安装 lombok
  • 有关pip与conda的介绍
  • VMware Fusion 虚拟机Mac版 安装CentOS 7
  • TypeScript 静态类型检查:提升前端开发的可靠性与效率
  • DeepSeek结合MCP Server与Cursor,实现服务器资源的自动化管理
  • CNN和LSTM的计算复杂度分析
  • 5.2 WPF数据绑定简单示例1
  • 力扣DAY29 | 热100 | 删除链表的倒数第N个结点
  • tauri2.0安卓端开发踩坑之旅
  • 云安全之k8s未授权漏洞总结
  • 使用 OCRmyPDF 将扫描 PDF 转为可搜索文档和文本文件
  • 可发1区的超级创新思路(python\matlab实现):基于周期注意力机制的TCN-Informer时间序列预测模型
  • 深入解析 PKI(公钥基础设施):原理、应用与安全保障
  • 【科研绘图系列】R语言绘制重点物种进化树图(taxa phylogenetic tree)
  • el-tree-select选项数据无法回显
  • 简历诊断与面试指导:学校用AI开出“数字处方”,GAI认证助力学生求职
  • AI Agent开发大全第十三课-向量数据库Qdrant集群布署全步骤
  • firewall-cmd --list-all-zones 命令详解
  • 几个工作中常用的网站
  • Go语言nil原理深度解析:底层实现与比较规则
  • MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案
  • 进程通信 system V共享内存 ─── linux第25课
  • Dify实现自然语言生成SQL并执行
  • MySQL--权限管理
  • 性能测试理论基础-性能指标及jmeter中的指标
  • 如何编写单元测试
  • UE4学习笔记 FPS游戏制作26 UE中的UI