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 作为参数。它的目标是移除数组中的重复元素,并返回新数组的长度。

代码中的主要逻辑如下:

  1. 判断数组的长度是否为0,如果是,则直接返回0。
  2. 初始化一个变量 cnt,用来记录不重复元素的个数,初始值为1。因为第一个元素肯定是不重复的。
  3. 使用一个循环遍历数组 nums 中的元素,从第二个元素开始(索引为1)。
  4. 每次比较当前元素与上一个元素的值是否相等。如果不相等,说明找到了一个不重复的元素,则将其放到新数组中,更新 cnt 的值,同时 cnt 也表示新数组的长度。
  5. 返回 cnt,即为新数组的长度。
全部评论

相关推荐

群星之怒:不是哥们,你就不好奇瘫痪三十年的老植物人是啥样的吗?
点赞 评论 收藏
分享
05-13 02:01
已编辑
惠州学院 前端工程师
安静的少年在求佛:建议把公司名字写到标题。以后有人想搜就能直接搜到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务