c++ - 运行时错误:基数为 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;
}
};
现在我得到了上述错误。谁能帮我简单解释一下我做错了什么并提出替代方案?
解决方案
推荐阅读
- max - 在 Access 中使用 Min/Max 时如何解决差距?
- c++ - 即使正确设置,我的 consoleHandler 也不处理 CTRL+C
- opengl - glGetTexParameterIiv 和 glGetTexParameterIuiv 有什么用?
- r - 如何用 plot() 去除圆周上的水平线
- c++ - 如何在 Mac OS 的发布版本中包含 Qt 库?
- angular - Azure 部署 - 将角度托管作为 azure 存储中的静态文件与使用 nodejs 的 Web 应用程序有什么区别?
- javascript - 删除某个类的 span 后的逗号
- objective-c - ios 13 Objective-C 后台任务请求
- c++ - 如何使用偏航、俯仰和滚动来旋转 3D 矢量?
- python - Python字典宾果游戏。需要帮助检查垂直胜利