题解 | #牛群排列组合#C++

牛群排列组合

https://www.nowcoder.com/practice/3db87961faf34094b5115775be588126

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型vector
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > cow_permutation(vector<int>& nums) {
        // write code here
	  //应该还可以优化,自己写next_permutation按照递减返回
        sort(nums.begin(), nums.end());
        vector<vector<int>> res;
        res.push_back(nums);
        while (next_permutation(nums.begin(), nums.end())) {
            res.push_back(nums);
        }
        sort(res.begin(), res.end(), [](vector<int>& a, vector<int>& b) {
            for (int i = 0; i < a.size(); ++i) {
                if (a[i] == b[i])
                    continue;
                return a[i] > b[i];
            }
            return a[0] > b[0];
        });
        return res;
    }
};

全部评论

相关推荐

后端转测开第一人:再怎么劝退也没用的 某些群体总以为在一个幸存者偏差的软件上看见了极少数秋招上岸某个大厂的个例就幻想上了 事实上自己打开ssob沟通1000+连个小厂面试都没
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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