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

牛的品种排序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 i = 0; i < n; i++) {
            cnt[cows[i]]++;
        }

        int index = 0;

        // 将0的个数对应的位置设为0
        for (int i = 0; i < cnt[0]; i++) {
            cows[index++] = 0;
        }

        // 将1的个数对应的位置设为1
        for (int i = 0; i < cnt[1]; i++) {
            cows[index++] = 1;
        }

        // 将2的个数对应的位置设为2
        for (int i = 0; i < cnt[2]; i++) {
            cows[index++] = 2;
        }

        return cows;
    }
    }

该代码使用的编程语言是Java。

这段代码实现了一个函数 sortCows,接受一个整数数组 cows 作为参数,并返回一个整数数组结果。

函数的目标是根据给定的整数数组重新排序,将所有的0排在前面,1排在中间,2排在后面。

代码中的主要思路如下:

  1. 首先创建一个长度为3的整型数组 cnt,用于统计每个数字的个数。
  2. 使用循环遍历数组 cows,将遍历得到的每个数字在 cnt 数组中的对应位置加1。
  3. 创建一个指针 index,用于指示当前应该填充的位置。
  4. 使用3个循环,按照 cnt 数组中的个数,依次将0、1、2放回原数组 cows 中,从头开始填充,同时更新指针 index 的位置。
  5. 最后返回重新排序后的数组 cows。
全部评论

相关推荐

05-12 22:16
已编辑
北京邮电大学 研发工程师
牛客302360988号:0offer+1 滴滴都不给我面 佬没投鹅吗,鹅应该很喜欢北邮吧
投递美团等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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