牛客网测试地址:https://www.nowcoder.com/questionTerminal/567f420f12ed4069b7e1d1520719d409
leetcode地址:https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/#/description
题目:
80. 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.
Subscribe to see which companies asked this question.
package go.jacob.day523;
public class Demo1 {
public int removeDuplicates(int[] nums) {
// 异常输入
if (nums == null || nums.length <= 1)
return nums == null ? 0 : nums.length;
int count = 2;
for (int i = 2; i < nums.length; i++) {
// 注意:这里判断条件不能是nums[i] != nums[i - 2]
if (nums[i] != nums[count - 2])
nums[count++] = nums[i];
}
return count;
}
}