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

牛的品种排序III

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

考察的知识点:数组;

解答方法分析:

  1. 创建一个结果向量result,初始值为0,长度与输入向量cows相同。
  2. 创建一个计数向量count,长度为k,初始值为0。
  3. 遍历输入向量cows,对每一个牛的编号进行计数,将计数结果保存在计数向量count对应的牛的索引位置上。
  4. 创建一个索引变量index,初始值为0,用于指示向结果向量result中填充牛的编号的位置。
  5. 使用嵌套的两层循环,外层循环遍历计数向量count,内层循环遍历每个编号出现的次数,根据次数依次向结果向量result填充牛的编号。
  6. 返回结果向量result

所用编程语言:C++;

完整编程代码:↓

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param cows int整型vector
     * @param k int整型
     * @return int整型vector
     */
    vector<int> sortCowsIII(vector<int>& cows, int k) {
        vector<int> result(cows.size(), 0);
        vector<int> count(k, 0);

        for (int i = 0; i < cows.size(); ++i) {
            count[cows[i]]++;
        }

        int index = 0;
        for (int i = 0; i < k; ++i) {
            for (int j = 0; j < count[i]; ++j) {
                result[index++] = i;
            }
        }

        return result;
    }
};

全部评论

相关推荐

02-05 08:49
已编辑
武汉大学 Web前端
野猪不是猪🐗:36k和36k之间亦有差距,ms的36k和pdd的36k不是一个概念
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务