136. 한 번 밖 에 안 나 오 는 숫자
설명:
너의 알고리즘 은 선형 시간 복잡 도 를 가 져 야 한다.당신 은 추가 공간 을 사용 하지 않 고 실현 할 수 있 습 니까?
예시 1:
입력: [2, 2, 1] 출력: 1
예시 2:
입력: [4, 1, 2, 1, 2] 출력: 4
사고의 방향
비 할 바 없 이 고전적 인 문 제 였 지만 어디서 본 경전 문 제 는 생각 나 지 않 았 다.고전 문 제 를 설명 합 니 다. n 개 수 에서 모든 숫자 는 짝수 번 이 나타 나 고 특정한 숫자 만 홀수 번 이 나타 나 면 다른 것 으로 판단 합 니 다. a ^ a = 0, 0 ^ b = b 이기 때문에 모든 쌍 을 이 루 는 수 는 0 과 같 습 니 다. 그러면 결국은 홀수 번 의 숫자 만 남 았 습 니 다. 마음대로 예 를 들 어 보 세 요.
0 — 0000 1001 0101
1 — 0000 1100 0000
2 — 0000 1100 0000
0 1 ,
x — 0000 0101 0101
2 ,
y — 0000 1001 0101, 0
성능 분석
결 과 를 한 번 훑 어보 면 시간 복잡 도 O (N), 공간 복잡 도 O (1)
구체 코드
int singleNumber(vector& nums) {
int res = 0; //
for(int i = 0; i < nums.size(); i++){ //
res ^= nums[i]; //
}
return res;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.