题目考察的知识点是:
本题主要考察双指针知识。
题目解答方法的文字分析:
判断数组长度是否小于3,小于3则直接返回数组长度。否则从1号位开始遍历数组,判断元素是否已经有3个,如果有,i指针继续向前遍历,新数组指针则等待未满3个元素的值出现,再记录下来。
本题解析所用的编程语言:
java语言。
完整且正确的编程代码:
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int remove_duplicates_v3 (int[] nums) {
// write code here
if (nums.length == 0) {
return 0;
}
int count = 1;
int num = 1;
for (int i = 1; i < nums.length; i++) {
if (nums[i - 1] == nums[i]) {
num ++;
} else {
num = 1;
}
if (num > 3) {
continue;
}
nums[count] = nums[i];
count ++;
}
return count;
}
}

京公网安备 11010502036488号