当前位置: 首页 > 文档资料 > 算法珠玑 >

bitwise-operations/single-number

优质
小牛编辑
120浏览
2023-12-01

Single Number

描述

Given an array of integers, every element appears twice except for one. Find that single one.

Note: Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

分析

异或,不仅能处理两次的情况,只要出现偶数次,都可以清零。

代码

// Single Number
// 时间复杂度O(n),空间复杂度O(1)
public class Solution {
    public int singleNumber(int[] nums) {
        int x = 0;
        for (int i : nums) {
            x ^= i;
        }
        return x;
    }
};
// Single Number
// 时间复杂度O(n),空间复杂度O(1)
class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int x = 0;
        for (int i : nums) {
            x ^= i;
        }
        return x;
    }
};

相关题目