题解 | #牛的品种排序III#

牛的品种排序III

https://www.nowcoder.com/practice/f6ab3d7e20f54860886848f0a6374987

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param cows int整型一维数组
     * @param k int整型
     * @return int整型一维数组
     */
    public int[] sortCowsIII (int[] cows, int k) {
        // write code here
        int n = cows.length;
        int[] count = new int[k];
        // 统计每个品种的数量
        for (int i = 0; i < n; i++) {
            count[cows[i]]++;
        }
        // 重构原始牛群数组
        int index = 0;
        for (int i = 0; i < k; i++) {
            while (count[i] > 0) {
                cows[index++] = i;
                count[i]--;
            }
        }
        return cows;
    }
}

本题知识点分析:

1.计数排序

2.数组遍历和赋值 (注意越界情况)

本题解题思路分析:

1.运用计数排序进行先统计各种类型的牛群数量,然后重构数组进行赋值即可

2.I和II可以有其他方法,像模拟和其他排序,而III计数排序是最方便的,掌握还是很重要

本题使用编程语言:Java

全部评论

相关推荐

Rena1ssance_:对的,要是面评没太烂,勤更新简历等捞就行了,腾讯可以无限复活
点赞 评论 收藏
分享
04-03 12:09
東京大学 C++
求求求求暑期offer:留第一行,剩下的不要
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务