99클럽 코테 스터디 29일차 TIL + 오늘의 학습 키워드

ㅎㅇ·2024년 8월 19일
0

항해99 TIL

목록 보기
23/33


*코드
class Solution {
public int missingNumber(int[] nums) {
int n = nums.length;
int xor = n;

    for (int i = 0; i < n; i++) {
        xor ^= i ^ nums[i];
    }
    
    return xor;
}

}
*리뷰
배열의 길이 n을 초기 XOR 값으로 설정합니다.
0부터 n-1까지의 인덱스와 nums 배열의 각 요소에 대해 XOR 연산을 수행합니다.
결과적으로 누락된 숫자만 XOR 값에 남게 됩니다.

이 방법은 XOR 연산의 특성을 이용합니다. 같은 숫자를 두 번 XOR하면 0이 되고, 0과 어떤 숫자를 XOR하면 그 숫자 자체가 됩니다. 따라서 0부터 n까지의 모든 숫자와 nums 배열의 모든 요소를 XOR하면, 누락된 숫자만 남게 됩니다.
이 해결책은 주어진 제약 조건을 모두 만족하며, O(n) 시간 복잡도와 O(1) 공간 복잡도를 달성합니다.

profile
안녕하세요

0개의 댓글