题解 | #草原上的牛群# java
草原上的牛群
https://www.nowcoder.com/practice/0661aa40ac8e48f4906df7aa24c3db90
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ public int remove_duplicates (int[] nums) { // write code here int numsLen = nums.length; if (numsLen == 0) { return 0; } int cnt = 1; for (int i = 0; i < numsLen - 1; i++) { if (nums[i] != nums[i + 1]) { nums[cnt] = nums[i + 1]; cnt++; } } return cnt; } }
这段代码使用的是Java编程语言。
题目考察的知识点是数组操作和遍历。
代码的文字解释如下:
- 定义了一个名为
remove_duplicates
的函数,该函数接受一个名为nums
的整数型一维数组作为参数,还有一个整数numsLen
表示数组的长度,并返回一个整数类型的值。 - 在函数内部,首先检查数组的长度是否为0,如果是,则直接返回0。
- 定义一个变量
cnt
并初始化为1,用于记录不重复元素的个数。 - 使用
for
循环遍历数组元素,从第一个元素开始,判断当前元素与下一个元素是否相等。如果不相等,则将下一个元素放在cnt
位置上,并递增cnt
。 - 返回
cnt
的值,即新数组中不重复元素的个数。