题解 | #牛的品种排序II# java

牛的品种排序II

https://www.nowcoder.com/practice/43e49fbb98b4497ba46e185918188b1c

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param cows int整型一维数组
     * @return int整型一维数组
     */
    public int[] sortCows (int[] cows) {
        // write code here
        int n = cows.length;
        int[] cnt = new int[3];
        for (int x : cows) {
            cnt[x] += 1;
        }
        int index = 0;
        for (int i = 0; i < cnt[0]; i++) {
            cows[index++] = 0;
        }
        for (int i = 0; i < cnt[1]; i++) {
            cows[index++] = 1;
        }
        for (int i = 0; i < cnt[2]; i++) {
            cows[index++] = 2;
        }
        return cows;
    }
}

编程语言是Java。

该题考察的知识点:

  • 数组操作
  • 循环和条件语句

代码的文字解释大纲:

  1. Solution类中创建一个名为sortCows的方法,该方法接收一个整型数组cows作为参数,并返回一个整型数组作为结果。
  2. 声明一个变量n,用于存储数组cows的长度。
  3. 创建一个长度为3的整型数组cnt,用于统计数组cows中0、1、2的个数。
  4. 使用增强型for循环遍历数组cows,并根据元素的值更新cnt数组中对应位置的计数。
  5. 声明一个变量index,初始值为0,用于标记在排序后的数组中当前应该放置元素的位置。
  6. 使用三个普通for循环,分别根据cnt数组中0、1、2的个数,将对应数量的元素放回原数组cows中。
  7. 返回排序后的数组cows作为结果。
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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