ice rabbit programming

[LeetCode] May Challenge 9 - Single Element in a Sorted Array 본문

PS/LeetCode

[LeetCode] May Challenge 9 - Single Element in a Sorted Array

판교토끼 2020. 5. 16. 00:38

https://leetcode.com/problems/single-element-in-a-sorted-array/

 

Single Element in a Sorted Array - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

업무에 조금 바쁘다보니 챌린지를 사실상 접었다..하하 ㅠㅠ

정렬된 배열에서 한 번만 등장하는 원소를 찾는 문제였다. 예전에 비슷한 문제를 풀었던 것 같은데 잘 기억나지 않는다. bool, map 등을 사용하는 생각을 했지만 그냥 간단하게 구현하기로 했다. 모두 2번 등장하므로 한 번만 등장하는 원소는 무조건 홀수번째에 위치하게 되므로 반복문을 홀수번째만 돌렸다.

class Solution {
public:
    int singleNonDuplicate(vector<int>& nums) {
        for(int i=0;i<nums.size();i+=2) {
            if(i+1>=nums.size())
                return nums[nums.size()-1];
            if(nums[i]!=nums[i+1])
                return nums[i];
        }
        return nums[nums.size()-1];
    }
};

시간이 79%인 것으로 보아 더 좋은 풀이가 있을 것 같은데 제대로 보지 않았다..