Leetcode/Top Interview 150

[Array/String][Easy] 26. Remove Duplicates from Sorted Array

자전거통학 2024. 4. 28. 20:33

https://leetcode.com/problems/remove-duplicates-from-sorted-array/description

 

Q. 오름차순으로 정렬된 정수 배열 nums가 주어질때, 이 값을 중복을 제거하고 다시 nums에 출력하고 그 길이를 반환하라. 이 후 이 유효한 길이를 반환하라. 

 이때 추가 메모리를 사용하지 말아라.

 

Solution. 

 바로 위의 문제와 아주 유사한 문제. 

 

 이미 정렬이 되어 있으므로, 중복이 없을 시만, 앞에서부터 overwrite 해 나간다. 

 

public int RemoveDuplicates(int[] nums) 
{
    int idx = 1;
    int val = nums[0];
    for(int k = 1; k < nums.Length; ++k)
    {
        if(nums[k] != val)
        {
            nums[idx++] = nums[k];
            val = nums[k];
        }
    }
    return idx;
}

 

 

적절한 결과.