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

只出现一次的数字2

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题

输入为一个列表

输出为一个int整数

核心思想:位运算,追踪每一位的出现次数,当出现一次时由ones储存,出现两次由two储存,出现三次的时候就应该清除掉

代码

class Solution:def singleNumber(self, nums: List[int]) -> int:ones,twos = 0,0for num in nums:twos |= ones & numones ^= numcommon_bit = ~(ones & twos)twos &= common_bit ones &= common_bitreturn ones 


http://www.mrgr.cn/news/5988.html

相关文章:

  • k8s学习(三十八) 使用OpenTelemetry+jaeger实现链路追踪
  • 【git】 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
  • HarmonyOS开发实战:应用权限/通知设置跳转方案
  • Jira使用指南(高级搜索JQL/统计/面板设计)
  • nodejs安装
  • 探索数据结构:图(二)之图的遍历,Kruskal与Prim算法
  • PHP开发过程中常见问题快速解决
  • Nuxt学习_基础知识(二)
  • Swing中如何实现快捷键绑定和修改
  • clickhouse自定义函数的困惑
  • 2024.8.23(docker)
  • Java二十三种设计模式-命令模式(18/23)
  • 将前端上传的文件同步到sftp服务器
  • 如何让ChatGPT说话更像人类
  • Linux中nano编辑器详解
  • ChaCha20:高效且安全的流密码算法
  • Excel 中找出每列第一个和最后一个非空格对应的行--Excel难题#87
  • 基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(三)---创建自定义激光雷达Componet组件
  • 同业、金融市场、投资银行业务系统应用架构设计
  • MySQL表的内外连接