非常细节的数组越界问题!!!
先看出错部分源码:
while(i<row&&j>=0)
{
if(target == matrix[i][j]) return true;
if(target<matrix[i][j])
{
j--;
}
if(target>matrix[i][j])
{
i++;
}
}
这是正确代码:文章来源:https://www.toymoban.com/news/detail-678250.html
while(i<row&&j>=0)
{
if(target == matrix[i][j]) return true;
if(target<matrix[i][j])
{
j--;
continue;
}
if(target>matrix[i][j])
{
i++;
continue;
}
}
错误原因很简单,因为j--后没有立即进行判断,即j--后可能使得j=-1,然后直接访问matrix[i][-1],导致数组越界,所以这里加上continue强制进行下一循环判断。文章来源地址https://www.toymoban.com/news/detail-678250.html
到了这里,关于runtime error: addition of unsigned offset to 0x602000000130 overflowed to 0x60200000012c (stl_vecto的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!