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。因为第一个元素肯定是不重复的。
- 使用一个循环遍历数组 nums 中的元素,从第二个元素开始(索引为1)。
- 每次比较当前元素与上一个元素的值是否相等。如果不相等,说明找到了一个不重复的元素,则将其放到新数组中,更新 cnt 的值,同时 cnt 也表示新数组的长度。
- 返回 cnt,即为新数组的长度。
查看14道真题和解析