知识点

计数 模拟

思路

遍历数组,对三种牛计数。然后依照计数个数对结果数组赋值。

时间复杂度

O(n)

AC code (c++)

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