leetcode 136. 只出现一次的数字

https://leetcode.cn/problems/single-number/description/?envType=study-plan-v2\&envId=top-interview-150

  1. 只出现一次的数字

已解答

简单

相关标签

相关企业

提示

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间'

解题思路

使用与或操作,依次进行与或,那么重复两次的数经过与或后变成0。最后只留下一个单独的数。

如数组 2 2 1

2 :010

2: 010

与或结果:000.

cpp 复制代码
class Solution {
public:
    int singleNumber(vector<int>& nums) {
        //使用或非操作。依次进行或非运算,重复的数则或非为0
        int num =  nums.size();
        int single =  nums[0];
        for(int i=1;i<num;i++)
        {
            single ^= nums[i];
        }
        return single;
    }
};
相关推荐
Tisfy13 分钟前
LeetCode 1550.存在连续三个奇数的数组:遍历
算法·leetcode·题解·数组·遍历
wang__1230014 分钟前
力扣70题解
算法·leetcode·职场和发展
菜鸟破茧计划19 分钟前
滑动窗口:穿越数据的时光机
java·数据结构·算法
_Itachi__1 小时前
LeetCode 热题 100 101. 对称二叉树
算法·leetcode·职场和发展
少了一只鹅1 小时前
深入理解指针(5)
java·c语言·数据结构·算法
朱剑君2 小时前
第三天——贪心算法——区间问题
算法·贪心算法
阳洞洞2 小时前
leetcode 15. 三数之和
leetcode·双指针
Mi Manchi263 小时前
力扣热题100之合并两个有序链表
算法·leetcode·链表
阿沁QWQ3 小时前
C语言中的文本读写和二进制读写接口
开发语言·c++·算法
仙人掌_lz3 小时前
深入理解深度Q网络DQN:基于python从零实现
python·算法·强化学习·dqn·rl