首页 > 解决方案 > 运行时错误:基数为 0x000000000000 的指针索引表达式溢出到 0xffffffffffffffe8

问题描述

问题是在数组中找到所有使 sum=0 的唯一三元组,并返回一个向量,其中包含所有这些唯一三元组的列表。这是我的班级定义:

class Solution {
public:
    vector<vector<int>> threeSum(vector<int>& nums) {
        vector<vector<int>>ans;
        for(int i=0; i<nums.size(); i++)
        {
            for(int j=i+1; j<nums.size(); j++)
            {
                for(int k=j+1; k<nums.size(); k++)
                {
                    if(nums[i]+nums[j]+nums[k]==0)
                    {  
                       ans.push_back( {nums[i], nums[j], nums[k]} );
                    }
                }
            }
        }
        set<int> s(ans.begin(),ans.end());
        ans.assign(s.begin(),s.end());
        return ans;
    }
};

现在我得到了上述错误。谁能帮我简单解释一下我做错了什么并提出替代方案?

标签: c++vectorruntime-error

解决方案


推荐阅读