Daily LeetCode Challenge - 136. Single Number

Min Young Kim·2023년 7월 8일
0

algorithm

목록 보기
188/198

Problem From.
https://leetcode.com/problems/single-number/

오늘 문제는 주어진 nums 배열에서 한번만 나온 숫자를 걸러내는 문제였다.

이 문제는 linear time 에 constant space 를 가지고 풀어야하는 조건이 있었는데, bit manipulation 을 통해서 풀 수 있었다.
같은 숫자가 나오지 않으면 0 이 되지 않는 비트 연산 xor 의 특성을 통해서 리스트를 처음부터 끝까지 보면서 0이 되지 않고 남아있는 수를 반환해주면 되었다.

class Solution {
    fun singleNumber(nums: IntArray): Int {
        var main = 0
        for (i in 0 until nums.size) {
            main = main xor nums[i]
        }
        return main
    }
}
profile
길을 찾는 개발자

0개의 댓글