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

力扣-137. 只出现一次的数字 II

文章目录

    • 力扣题目
    • 代码

力扣题目

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

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

示例 1:

输入:nums = [2,2,3,2]
输出:3
示例 2:

输入:nums = [0,1,0,1,0,1,99]
输出:99

代码

思路分析:
1.遍历32位,求出数组中所有数的每一位的和;
2.对和进行取%判断,如果对应位不能整除,则此位就是多出来的那个一个数字;

int singleNumber(int* nums, int numsSize) 
{int ret = 0;unsigned int count = 0;int i = 0, j = 0;/*遍历32位*/for(i = 0; i < 32; i++){count = 0;/*将数组中的所有元素的对应位进行相加*/for(j = 0; j < numsSize; j++){count += (nums[j] >> i) & 1;}/*数组中对应位相加如果是3的倍数,将对应位置0,否则置1*/ret += (count % 3) << i;}return ret;
}
http://www.lryc.cn/news/296968.html

相关文章:

  • Rust 格式化输出
  • c#进程(Process)常用方法
  • Vue源码系列讲解——虚拟DOM篇【三】(更新子节点)
  • 一个设备内存2M,一个1G大小的文件,这个文件有若干行,输出其中的带有hello的行以及行数
  • json模块(高维数据的存储与读取)
  • ONLYOFFICE文档8.0新功能浅探
  • 在vscode 中配置 pyside6 环境
  • C语言:月份缩写
  • 线阵相机系列-- 1. 什么是线阵相机
  • CISCRISC? CPU架构有哪些? x86 ARM?
  • 【C语言】(15)指针进阶
  • 力扣精选算法100道—— 连续数组(前缀和专题)
  • flutter 国内源
  • 第九个知识点:内部对象
  • Android 车载应用开发之车载操作系统
  • Qt PCL学习(文章链接汇总)
  • 安卓动态链接库文件体积优化探索实践
  • [Java][算法 哈希]Day 01---LeetCode 热题 100---01~03
  • 【每日一题】LeetCode——链表的中间结点
  • k8s 部署java应用 基于ingress+jar包
  • 深度学习技巧应用36-深度学习模型训练中的超参数调优指南大全,总结相关问题与答案
  • “探索AJAX:前端与后端数据交互的利器“
  • 【5G NR】移动通讯中使用的信道编解码技术
  • 用Python Tkinter打造的精彩连连看小游戏【附源码】
  • nvm安装node后,npm无效
  • spring boot(2.4.x 开始)和spring cloud项目中配置文件application和bootstrap加载顺序
  • 5-2、S曲线计算【51单片机+L298N步进电机系列教程】
  • SQL 注入 - http头注入之UA头注入探测
  • 学习数据结构和算法的第5天
  • Android 11 访问 Android/data/或者getExternalCacheDir() root方式