[자바JAVA]136. Single Number
💡 핵심 요약 (TL;DR)
'136. Single Number' 알고리즘 문제의 요구사항을 분석하고 최적의 자료구조와 연산 방식을 적용해 구현한 풀이다. * 모든 릿코드(LeetCode)(leetcode) java 풀이을 확인했다.
문제 136. Single Number
주어진 array안에 쌍이 아닌 홀로 있는 숫자를 찾는 문제이다.
Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.
- 입출력예시
1 | //예시1 |
풀이 코드 1 : 비트연산자
- 비트 연산자(^) : 대응되는 비트가 서로 같으면 0을, 다르면 1을 반환함. (비트 XOR 연산)
1 | //예시 |
- Runtime 1 ms Memory 47.9 MB
1 | public class _0136SingleNumber { |
풀이2 : HashMap사용
HashSet : contains()을 통해 있으면 remove, 없으면 add해서 남은 값을 출력
Runtime 10 ms Memory 40 MB
1 | public class _0136SingleNumber { |
성능 비교
| 비트연산자사용 | 해시맵사용 | |
|---|---|---|
| Runtime | 1 ms | 10 ms |
| Memory | 47.9 MB | 40 MB |
다른 문제 풀이가 보고싶다면?
[자바JAVA]136. Single Number