题解 | #牛群排列组合#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;
    }
};

全部评论

相关推荐

2024-12-09 17:16
海南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务