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,即为新数组的长度。