day7--哈希表--四数相加

 

1.四数相加lettcode454

我的想法使用暴力解法,我写出来啦~很开心,但是会超时,时间复杂度太高了,这里应该是O(n^4),然后看下优化的哈希写法

class Solution {
public:
    int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
        //题目的意思是每个数组中挑一个数字,然后加起来的结果是0
        //问这样的组合有多少
        //暴力解法是挨个循环,用4层,然后去重,统计元素个数
        vector< vector<int>> v1;
        for(int i=0;i<nums1.size();++i){
            for(int j=0;j<nums2.size();++j){
                for(int k=0;k<nums3.size();++k){
                    for(int l=0;l<nums4.size();++l){
                        if(nums1[i]+nums2[j]+
                        nums3[k]+nums4[l]==0){
                            vector<int> tmp;
                            tmp.push_back(nums1[i]);
                            tmp.push_back(nums2[j]);
                            tmp.push_back(nums3[k]);
                            tmp.push_back(nums4[l]);
                            v1.push_back(tmp);
                        }
                    }
                }
            }
        }
        return v1.size();
    }
};

 

posted @ 2023-01-20 02:13  今天也是开心的一天呀  阅读(31)  评论(0)    收藏  举报