leetcode.com/problems/single-number/
Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.
Follow up: Could you implement a solution with a linear runtime complexity and without using extra memory?
Input: nums = [2,2,1]
Output: 1
n^2으로 비교해주는 법 hashMap을 이용하여 n으로 비교해주는 법 등 다양한 방법이 있지만
비트연산의 같은 숫자가 짝수번일때 0이 되는 성질을 이용하여 다음과 같이 풀이하였다.
class Solution {
public int singleNumber(int[] nums) {
int answer = 0;
for (int i : nums) {
answer ^= i;
}
return answer;
}
}
'개발자 > algorithm' 카테고리의 다른 글
LeetCode, Climbing Stairs (Java) (0) | 2021.01.05 |
---|---|
LeetCode, Best Time to Buy and Sell Stock (Java) (0) | 2021.01.05 |
LeetCode, Move Zeroes (Java) (0) | 2021.01.05 |
LeetCode, Invert Binary Tree (Java) (0) | 2021.01.03 |
LeetCode, Maximum Depth of Binary Tree (Java) (0) | 2021.01.03 |