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

力扣-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.kler.cn/a/233055.html

相关文章:

  • UDP协议和TCP协议之间有什么具体区别?
  • [CKS] K8S NetworkPolicy Set Up
  • 【深圳大学】数据结构A+攻略(计软版)
  • Java之泛型--对象指定多个泛型类型(有示例)
  • React Native 全新架构来了
  • 券商隔夜单自动下单交易接口
  • 联合体知识点解析
  • 如何用Hexo搭建一个优雅的博客
  • 单片机学习笔记---DS1302时钟
  • django中实现登录
  • 微信小程序的图片色彩分析,窃取网络图片的主色调
  • Python中使用opencv-python库进行颜色检测
  • 【芯片设计- RTL 数字逻辑设计入门 7 -- 同步复位与异步复位详细介绍】
  • 使用Collections.singletonList()遇到的问题
  • Unity学习笔记之【IK反向动力学操作】
  • 20240209-最大可整分子集
  • c#: 表达式树的简化
  • 科研绘图-半小提琴图-
  • List 差集
  • 【开源】JAVA+Vue+SpringBoot实现房屋出售出租系统
  • vue父子组件通讯的几种方式总结学习
  • 基于SpringBoot的记账系统项目
  • Vagrant 虚拟机工具基本操作指南
  • echarts 一条折线图上显示不同颜色
  • 【Android】GridLayout实现等比布局
  • DC-9靶机渗透详细流程