美文网首页
46.permutations

46.permutations

作者: Optimization | 来源:发表于2020-05-29 17:21 被阅读0次
    问题:

    1.回溯思路框架
    2.什么时候加引用,你想用他来返回数

    正文:
    class Solution {
    public:
        vector<vector<int>> permute(vector<int>& nums) {
            if(!nums.size()) return {};
            
            vector<int> path;
            backtrack(path, nums);
            return ans;
        }
    private:
        // result
        vector<vector<int>> ans;
        // 引用不引用的问题怎么办?
        void backtrack(vector<int> path, vector<int> nums){
            if (path.size() == nums.size()){
                ans.push_back(path);
                return;
            }
            for (int i =0; i < nums.size(); i++) {
                // 如果path中有的话,那就不用拿了
                if(find( path.begin(), path.end(), nums[i]) != path.end()){
                    continue;
                }
                path.push_back(nums[i]);
                backtrack(path, nums);
                path.pop_back();
            }
        }
    };
    

    相关文章

      网友评论

          本文标题:46.permutations

          本文链接:https://www.haomeiwen.com/subject/ulcxzhtx.html