【Leetcode】136. Single Number

题目地址:

https://leetcode.com/problems/single-number/submissions/

给定一个数组,除了某个数只出现了一次之外,每一个数都出现了两次。求那个只出现了一次的数。注意到32位整数与亦或运算构成了一个阿贝尔群,每个元素的阶是222,参考https://blog.csdn.net/qq_46105170/article/details/104082406,该群的单位元是000。所以直接从头到尾亦或一遍即可。

public class Solution {
    public int singleNumber(int[] nums) {
        int cur = 0;
        for (int i = 0; i < nums.length; i++) {
            cur ^= nums[i];
        }
        
        return cur;
    }
}

时间O(n)O(n)O(n),空间O(1)O(1)O(1)。

【Leetcode】136. Single Number【Leetcode】136. Single Number edWard的算法世界 发布了93 篇原创文章 · 获赞 0 · 访问量 1575 私信 关注
上一篇:【2019年8月】OCP 071认证考试最新版本的考试原题-第27题


下一篇:hdu1062 text reverse