👨‍💻

[LeetCode] Top Interview 150: Remove Duplicates from Sorted Array

2023/12/15に公開

リンク

https://leetcode.com/problems/remove-duplicates-from-sorted-array/?envType=study-plan-v2&envId=top-interview-150

概要

  • 昇順に並べられた整数配列numsが与えられる
  • 配列内から重複をin-placeな方法で削除し、残った個数を返す

解法

これと同じように、尺取り法で実装した。
一番最初の要素は検査しなくていい(確実に重複しない)ので、インデックスは1から始めた。

class Solution {
    public int removeDuplicates(int[] nums) {
        int k = 1;

        for(int i=1; i<nums.length; i++) {
            if(nums[i] != nums[i-1]) {
                nums[k] = nums[i];
                k++;
            }
        }

        return k;
    }
}

Discussion