【LeetCode: 137. 只出现一次的数字 II | 位运算 | 哈希表】

news2025/1/31 21:55:41

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 哈希表
        • 🥦 求解思路1
      • ⚡ 位运算
        • 🥦 求解思路2
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 137. 只出现一次的数字 II

⛲ 题目描述

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

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

示例 1:

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

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

提示:

1 <= nums.length <= 3 * 104
-231 <= nums[i] <= 231 - 1
nums 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次

🌟 求解思路&实现代码&运行结果


⚡ 哈希表

🥦 求解思路1
  1. 我们可以直接统计集合中元素的个数,最后遍历判断找到出现一次的元素即可。
  2. 实现也比较简单,大家可以自行实现,此处不做过多的讲解。

⚡ 位运算

🥦 求解思路2
  1. 这道题目让我们求解的是,数组中只出现一次的元素是什么,区别于昨天的题目,今天题目的变化在于,其它元素出现了3次。具体怎么求解呢?
  2. 我们对所有的元素同时判断它每一位二进制中比特位为1的个数,对每一位为1的个数最后%3,如果为0,那么最终的在该位置就是0,否则就是1,对每一个位置再次进行或运算求得最终的结果。
  3. 具体求解的过程步骤请看下面代码。
🥦 实现代码
class Solution {
    public int singleNumber(int[] nums) {
        int res = 0;
        for(int i = 0; i < 32; i++){
            int cnt = 0;
            for(int n:nums){
                cnt += n>>i & 1;
            }
            res |= cnt % 3 << i;
        }
        return res;
    }
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

综述:大规模小目标检测

论文地址: Towards Large-Scale Small Object Detection: Survey and Benchmarks​arxiv.org/abs/2207.14096 目录 摘要 1.Introduction 1.1 与之前综述的比较 1.2 总结 2.小目标检测回顾 2.1 问题定义 2.2 主要挑战 2.3 小目标检测算法回顾 3.小目标检测的数据集 …

java网上商城购物网站管理系统69bz5 用户 会员springboot+vue

主要目的是通过网络平台方便商家进行商品订单管理并让客户有更好的购物体验。以商家在后端提供商品供客户在前端商城选购&#xff0c;客户将所需的商品加入购物车&#xff0c;然后通过结算购物车功能填写相应信息生成订单&#xff0c;付款以后再由商家在后端接收到订单进行处理…

自动驾驶中的数据安全和隐私

自动驾驶技术的发展已经改变了我们的出行方式&#xff0c;但伴随着这项技术的普及&#xff0c;数据安全和隐私问题也变得愈发重要。本文将探讨自动驾驶中的数据收集、数据隐私和安全挑战&#xff0c;以及如何保护自动驾驶系统的数据。 自动驾驶中的数据收集 在自动驾驶技术中…

深入理解 JVM(重点:双亲委派模型 + 垃圾回收算法)

一、什么是 JVM&#xff1f; JVM 是 Java Virtual Machine 的简称&#xff0c;意为 Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。可以认为 JVM 是一台被定制过的现实当中不存在的计算机&#xff0c;Java程序最终是…

Tuxera NTFS for Mac2024最新中文版本下载

如果你想用U盘在Mac和其他设备之间传输文件&#xff0c;可能会遇到一些问题。因为Mac系统支持的U盘格式和其他系统不同&#xff0c;而且苹果电脑对U盘的读写权限也有一定的限制。那么&#xff0c;Mac系统支持什么格式的U盘呢&#xff1f;苹果电脑读写权限怎么开启呢&#xff1f…

前端打包项目上线-nginx

第一步&#xff1a;下载nginx。 直接下载 nginx/Windows-1.25.2 pgp 第二步&#xff1a;解压zip包 第三步&#xff1a;打开文件夹&#xff0c;把http里的路径打开cmd 第四步&#xff1a;打开你的http-server服务&#xff0c;没有下载去下一次就ok了 打开后就可以访问了 第五步…

黑豹程序员-页面录音-在vue页面中进行录音wav/mp3

功能 在vue页面中进行录音wav/mp3 效果图 官网展示页面 https://recorder.zhuyuntao.cn/ 安装组件 npm i js-audio-recorder 测试页面 <template><h3>录音时长&#xff1a;{{ recorder.duration.toFixed(4) }}</h3><el-row><el-button type…

QE01/QA11/QA02屏幕增强

1、业务需求 需要对来料检验增加“合格数量”和“不合格数量”字段&#xff0c;涉及三个增强开发 2、QE01\QE02\QE03\QE51N屏幕增强 增强表 增强点BADI&#xff1a;QEEM_SUBSCREEN_5000 创建程序&#xff0c;包含子屏幕&#xff0c;在增强点中调用 在程序屏幕中绘制字段 在输…

【CNN-GRU预测】基于卷积神经网络-门控循环单元的单维时间序列预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Redux 错误处理

Redux 错误处理 这两天正好收尾一个 Redux 页面的重构&#xff0c;碰到了一些错误处理的方式&#xff0c;这里就写个笔记总结一下碰到的问题和几种处理方式 大体上是分为同步函数和异步函数两个方面去处理 同步函数 这个是指的是直接在 reducer 中进行操作&#xff0c;可以…

基于springboot实现医疗服务系统项目【项目源码+论文说明】计算机毕业设计

摘要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 医疗服务系统&#xff0c;主要的模块包括查看管理员&#xff1b;首页、个人中心、普通村民管理、乡村医生管理、公告信息管理、乡村诊室管理、…

抖音店铺提供优质服务|成都瀚网科技

抖音是中国领先的电子商务平台。为了帮助商家增加销量和品牌曝光度&#xff0c;抖音推出了精选联盟计划。精选联盟是由优质商家组成的联盟&#xff0c;旨在为消费者提供更多优质、高性价比的产品选择。那么&#xff0c;如何使用抖店开通精选联盟呢&#xff1f;这将在下面详细描…

计算机中了360后缀勒索病毒怎么办?360勒索病毒解密数据恢复

最近一段时间360后缀勒索病毒变得异常嚣张&#xff0c;时不时就会攻击企业的计算机服务器&#xff0c;导致众多的企业服务器被360后缀勒索病毒攻击。360后缀的勒索病毒并非360公司&#xff0c;是黑客专门具有针对性地研发的勒索病毒&#xff0c;通过加密企业的计算机给企业带来…

Docker容器与虚拟化技术:DaoCloud账户注册

目录 一、实验 1.DaoCloud 一、实验 1.DaoCloud &#xff08;1&#xff09;概念 DaoCloud是企业级容器云平台&#xff0c;它提供了一套容器集群解决方案&#xff0c;Daocloud可以管理你的计算资源&#xff0c;包括物理机和公有云环境&#xff0c;你可以在DaoCloud平台上部…

基于springboot实现音乐网站与分享平台项目【项目源码+论文说明】计算机毕业设计

摘要 本论文主要论述了如何使用JAVA语言开发一个音乐网站与分享平台 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述音乐网站与分享平台的当前背景以及系统开…

C++桶排序算法的应用:存在重复元素 III

题目 给你一个整数数组 nums 和两个整数 indexDiff 和 valueDiff 。 找出满足下述条件的下标对 (i, j)&#xff1a; i ! j, abs(i - j) < indexDiff abs(nums[i] - nums[j]) < valueDiff 如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例…

在不安全的集群上启用 Elasticsearch Xpack 安全性

本博文详细描述如何把一个没有启动安全的 Elasticsearch 集群升级为一个带有 HTTPS 访问的启用 Elasticsearch xpack 安全的集群。 为了增强 Elasticsearch 集群的安全性&#xff0c;你需要执行完全集群重启&#xff0c;并在客户端进行一些更改。 启用身份验证后&#xff0c;所…

分析谐波失真

目录 简介 查看非线性的影响 量化非线性失真 降低谐波失真的输入衰减 SNR THD 和 SINAD 当作输入衰减的函数 用于消除失真的后处理 组合方法 总结 此示例说明如何分析在具有噪声的情况下弱非线性系统的谐波失真。 简介 在此示例中&#xff0c;我们将研究放大器的简化模…

推荐动漫《头文字D》

《头文字D》是漫画家重野秀一作画的青年漫画&#xff0c;从1995年开始在《周刊Young Magazine》上连载&#xff0c;于2013年7月29日完结&#xff0c;电子版由漫番漫画连载 [1] 。已被改编成同名动画和电影&#xff0c;还有多本探讨汽车驾驶技巧的周边专书。头文字D漫画刚出版即…

机器学习: 初探 定义与应用场景

机器学习 第一课 初探 定义与应用场景 机器学习 第一课 初探 定义与应用场景机器学习的历史机器学习为什么重要?机器学习的定义机器学习在日常生活中的应用推荐系统语音识别图像识别 商业领域的机器学习金融风险评估股票市场预测客户关系管理 机器学习在医疗领域的应用疾病预测…