首頁  >  文章  >  Java  >  單號I

單號I

DDD
DDD原創
2024-09-19 06:17:33515瀏覽

Single Number I

問題

我們必須找出只出現過一次的數字。
暴力方法是使用 HashMap 追蹤值的計數,然後傳回 count =1 的值;

使用位元操作的最佳方法:

我們知道所有其他組合,1^0 = 1、0 ^1 = 1、0 ^ 0 = 0、1 ^ 1= 0。
這意味著對於相同的值,異或給出 0,因此如果我們異或數組中的所有值,它將只給出計數為 1 的數字(因為其餘值將變成 0)

TC:O(n)
SC:O(1)

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

以上是單號I的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn