80. Remove Duplicates from Sorted Array II

    xiaoxiao2021-03-26  18

    Follow up for "Remove Duplicates": What if duplicates are allowed at most twice?

    For example, Given sorted array nums = [1,1,1,2,2,3],

    Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.

    使用两个指针,其中i遍历原数组中的每个元素,k指向删除重复数字后的长度。

    public class Solution { public int removeDuplicates(int[] nums) { if(nums.length==0) return 0; int i=2,k=2; while(i<nums.length){ if(!(nums[i]==nums[k-1]&&nums[i]==nums[k-2])){ nums[k++]=nums[i]; } i++; } return k; } }

    转载请注明原文地址: https://ju.6miu.com/read-450237.html

    最新回复(0)