>Java >java지도 시간 >단일 숫자 I

단일 숫자 I

DDD
DDD원래의
2024-09-19 06:17:33547검색

Single Number I

문제

한 번만 존재하는 숫자를 찾아야 합니다.
무차별 접근 방식은 HashMap을 사용하여 값 개수를 추적한 다음 개수 =1인 값을 반환하는 것입니다.

비트 조작을 이용한 최적의 접근 방식:

다른 모든 조합에 대해서는 1^0 = 1, 0 ^1 = 1, 0 ^0 = 0, 1 ^ 1= 0이라는 것을 알고 있습니다.
이는 exor가 동일한 값에 대해 0을 제공한다는 것을 의미하므로 배열의 모든 값을 exor하면 개수가 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으로 문의하세요.