原题网址:https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/
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.
方法:直接扫描。
public class Solution {
public int removeDuplicates(int[] nums) {
if (nums.length <= 2) return nums.length;
int len = 2;
for(int i=2; i<nums.length; i++) {
if (nums[i] != nums[len-1] || nums[i] != nums[len-2]) nums[len++] = nums[i];
}
return len;
}
}

本文介绍了一种解决LeetCode上移除排序数组中的重复项允许最多两次问题的方法。通过直接扫描的方式,对于长度大于2的数组,保留每个元素最多出现两次,返回新的有效长度。
788

被折叠的 条评论
为什么被折叠?



