[LeetCode] 80. Remove Duplicates from Sorted Array II java

    xiaoxiao2021-03-25  133

    /**80. Remove Duplicates from Sorted Array II * @param nums * @return 保留<=2个相同数字 */ public int removeDuplicatesII(int[] nums) { int count = 0; int len = nums.length; int twice = 0; for (int i=1; i<len; i++) { if (nums[i] == nums[i-1]) { twice+=1; if (twice >= 2) { count++; } else { nums[i-count] = nums[i]; } } else { twice = 0; nums[i-count] = nums[i]; } } return len-count; }

    改进,化简逻辑

    public int removeDuplicates2(int[] nums) { boolean twice = false; int len = 0; if (nums.length > 0) { len = 1; } for (int i = 1; i < nums.length; i++) { if (twice == false && nums[i] == nums[i-1]) { twice = true; nums[len++] = nums[i]; } else if (nums[i] != nums[i-1]) { twice = false; nums[len++] = nums[i]; } } return len; }
    转载请注明原文地址: https://ju.6miu.com/read-5139.html

    最新回复(0)