3 Sumタイムアウト


暴力は3 sumを解いてタイムアウトして、午前中に書いたことを使って、タイムアウトして、時間があって構想を変えて書くようにしましょうしばらく変えません

class Solution {
public:
    vector<vector<int>> threeSum(vector<int>& nums) {
        int len = int(nums.size());
        
        sort(nums.begin(), nums.end(),less<int>());
        
        int newlenth = len*(len-1)*(len-2)/6;
        vector<vector<int>> res(newlenth,vector<int>(3,0));
        //vector<vector <int> > ivec(m ,vector<int>(n,0));
        int p=0;
        for (int i=0; i<len; i++) {
            if(i > 0 && nums[i] == nums[i-1]){
                continue;
            }
            for (int j=i+1; j<len; j++) {
                if(j > 0 && nums[j] == nums[j-1]){
                    continue;
                }
                for (int k=j+1; k<len; k++) {
                    if(k > 0 && nums[k] == nums[k-1]){
                        continue;
                    }
                    if (nums[i]+nums[j]+nums[k]==0) {
                        cout<<i<<endl<<j<<endl<<k<<endl;
                        res[p][0]=nums[i];
                        res[p][1]=nums[j];
                        res[p][2]=nums[k];
                        cout<<res[p][0]<<" "<<res[p][1]<< " "<<res[p][2]<<endl;
                        p++;
                    }
                }
            }
        }
        return res;
    }
};

, , , count++ , , , , 。 , ~