class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
vector<int> cons;
int count=0;
int len=nums.size();
if(nums.empty())
{
return 0;
}
else
{
int i=0;
while(i<len)
{
if(nums[i]==1)
{
count++;
}
else
{
cons.push_back(count);
count=0;
}
i++;
}
int val=*max_element(cons.begin(),cons.end());
return val;
}
}
};为什么我会得到上面的错误。
Line 788: Char 16: runtime error: reference binding to null pointer of type 'int' (stl_iterator.h)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_iterator.h:797:16发布于 2020-09-09 13:34:11
这就是问题所在
int val=*max_element(cons.begin(),cons.end());添加此条件以检查cons是否不为空
int val;
if(cons.size()!=0)
val=*max_element(cons.begin(),cons.end());https://stackoverflow.com/questions/63804895
复制相似问题