DHistory

[LeetCode] Remove Duplicates from Sorted Array 본문

Computer Science/Algorithm

[LeetCode] Remove Duplicates from Sorted Array

ddu0422 2022. 3. 16. 20:42

풀이과정

1. 배열을 새로 생성하지 않고 기존 배열을 수정하여 중복된 숫자를 제거합니다.

2. 중복이 제거된 배열의 길이를 반환합니다.

 

Java

class Solution {
    public int removeDuplicates(int[] nums) {
        // 길이가 1인 배열은 중복을 제거할 필요가 없으므로 1을 반환합니다.
        if (nums.length == 1) {
            return 1;
        }
        
        // 첫 수는 반복되어도 제거대상이 아니기 때문에 index를 1로 설정합니다.
        int index = 1;
        
        // 중복되지 않은 수를 찾아 기존 배열을 수정합니다.
        for (int i = 0; i < nums.length - 1; i++) {
            if (nums[i] != nums[i + 1]) {
                nums[index] = nums[i + 1];
                index++;
            }
        }
        
        return index;
    }
}

 

Python

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        if len(nums) == 1:
            return 1
        
        index = 1
        
        for i in range(0, len(nums) - 1):
            if nums[i] != nums[i + 1]:
                nums[index] = nums[i + 1]
                index += 1
                
        return index

 

 

Explore - LeetCode

LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore.

leetcode.com