Я получил подобный тип ошибки для проблемы: https://leetcode.com/problems/spiral-matrix-ii/, которую я решил, инициализируя вектор размером n и значением = 1, но в этой проблеме: https://leetcode.com/problems/spiral-matrix/ это не разрешается даже после инициализации размера.
Ошибка "Строка 922: Char 34: ошибка времени выполнения: добавление беззнакового смещения к 0x6020000000b0 переполнено до 0x6020000000a c (stl_vector.h) РЕЗЮМЕ: UndefinedBehaviorSanitizer: undefined-поведения /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_vector.h : 933: 34 "
Вот мой код для того же:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
int m = matrix[0].size()-1,n = matrix.size()-1;
int val = 0,left = 0,right = m-1,top = 0,down = n-1;
vector<int> ans(m*n);
if(matrix.size() == 0){
return {};
}
while(left <= right && top <=down){
for(unsigned int i=left;i<=right;i++){
//ans.push_back(matrix[top][i]);
ans[val++] = matrix[top][i];
}
top++;
for(unsigned int j=top;top<=down;top++){
//ans.push_back(matrix[j][right]);
ans[val++] = matrix[j][right];
}
right--;
for(int i=right;right>=left;i--){
//ans.push_back(matrix[down][i]);
ans[val++] = matrix[down][i];
}
down--;
for(int j=down;j>=top;j--){
//ans.push_back(matrix[j][left]);
ans[val++] = matrix[j][left];
}
left++;
}
return ans;
}
Помощь приветствуется и спасибо заранее