leetCode 136.只出现一次的数字 + 位运算

news/2024/12/13 4:16:58/

136. 只出现一次的数字 - 力扣(LeetCode)


给你一个 非空 整数数组 nums 除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间


(1)哈希

class Solution {
public:int singleNumber(vector<int>& nums) {unordered_map<int,int>mp;for (const int &num: nums) mp[num]++;for (auto it: mp) if(it.second == 1) return it.first;return -1;}
};

(2)位运算(模2加法 )

  • 方法1:统计每个比特位的1的个数
class Solution {
public:// 模2加法 方法1:统计每个比特位的1的个数int singleNumber(vector<int>& nums) {int ans = 0;for(int i=0;i<32;i++) {int cnt=0;for(const int& x : nums) {cnt += (x>>i) & 1;}ans |= (cnt % 2) << i;}return ans;}
};

  • 方法2:位运算 
class Solution {
public:// 异或 模2加法 方法2:位运算int singleNumber(vector<int>& nums) {int res=0;for (const int &num: nums) {res^= num;}return res;}
};

我的往期文章推荐:

leetCode 260.只出现一次的数字 ||| + 位运算-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_41987016/article/details/134106477?spm=1001.2014.3001.5501


http://www.ppmy.cn/news/1187015.html

相关文章

音视频技术开发周刊 | 317

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 MIT惊人再证大语言模型是世界模型&#xff01;LLM能分清真理和谎言&#xff0c;还能被人类洗脑 MIT等学者的「世界模型」第二弹来了&#xff01;这次&#xff0c;他们证明…

Redis测试新手入门教程

在测试过程中&#xff0c;我们或多或少会接触到Redis&#xff0c;今天就把在小破站看到的三丰老师课程&#xff0c;把笔记整理了下&#xff0c;用来备忘&#xff0c;也希望能给大家带来亿点点收获。 主要分为两个部分&#xff1a; 一、缓存技术在后端架构中是如何应用的&#…

Android开发知识学习——TCP / IP 协议族

文章目录 学习资源来自&#xff1a;扔物线TCP / IP 协议族TCP连接TCP 连接的建立与关闭TCP 连接的建立为什么要三次握手&#xff1f; TCP 连接的关闭为什么要四次挥手&#xff1f; 为什么要⻓连接&#xff1f; 常见面试题课后题 学习资源来自&#xff1a;扔物线 TCP / IP 协议…

UnityAI——操控行为编程的主要基类

本文内容位于AI模型中的运动层。变成种主要涉及到Vehicle、AILocomotion和Steering类&#xff0c;它们是实现操控行为的基础 一、将AI对象抽象成一个质点——Vehicle类 Vehicle包括position、mass、velocity等信息&#xff0c;而速度随着所施加力的变化而变化。由于是物理实体…

CSS+Javascript+Html日历控件

最近&#xff0c;因需要用HTMLJAVASCRIPTCSS实现了一个日历控件&#xff0c;效果如下&#xff1a; 单击上月、下月进行日历切换。当前日期在日历中变颜色标注显示。还是老老套路、老方法&#xff0c;分HMLCSSJAVASCRIPT三部分代码。 一、html代码 <h1>学习计划</h1…

Linux rm命令:删除文件或目录

当 Linux 系统使用很长时间之后&#xff0c;可能会有一些已经没用的文件&#xff08;即垃圾&#xff09;&#xff0c;这些文件不但会消耗宝贵的硬盘资源&#xff0c;还是降低系统的运行效率&#xff0c;因此需要及时地清理。 rm 是强大的删除命令&#xff0c;它可以永久性地删除…

50元买来的iPhone手机刷机经验

前段时间&#xff0c;家里的iPad被家人误操作&#xff0c;导致iPad变成不可使用状态。自己折腾了半天&#xff0c;没有找到解决办法。没有办法&#xff0c;只好拿到手机维修店去修理,很快就修理好了.其实也很简单--就是对iPad进行了刷机操作。当然我也看到了刷机的方法。今天&a…

目标URL启用了不安全的HTTP方法

修复中危web项目漏洞&#xff08;目标URL启用了不安全的HTTP方法&#xff09; 漏洞名 &#xff1a;目标URL启用了不安全的HTTP方法 等级&#xff1a; 中危 漏洞位置&#xff1a; PUT DELETE 描述&#xff1a; Web服务器配置为允许使用危险的HTTP方法&#xff0c;如PUT、MOVE、…