首页 > 其他分享 >只出现一次的数字

只出现一次的数字

时间:2022-10-11 23:11:34浏览次数:39  
标签:一次 数字 int single 数组 出现 运算

只出现一次的数字

一、题目描述

给定一个数组,找出其中只出现一次的数字。其余数字都是出现两个以上。
示例

输入: [2,2,1]
输出: 1

输入: [4,1,2,1,2]
输出: 4

二、解题思路

这个题在不考虑时间和空间的情况下。有许多解法。遍历数组,使用map集合统计数字出现的次数。还有其他。但是线性时间复杂度并不使用其他额外的空间的情况下,可以使用位运算。

三、解题方法

方法1
位运算,任何数与任何数做位运算都是0,任何书和0作位运算。都是任何数,然而遍历数组,每一个数依次作位运算,最后剩下的就是那个只出现一次的数字。
代码实现

class Solution {
    public int singleNumber(int[] nums) {

        int single = 0;
        for(int num: nums){
            single ^= num;
        }
        return single;

    }
}

标签:一次,数字,int,single,数组,出现,运算
From: https://www.cnblogs.com/zjjtt/p/16782968.html

相关文章