我都快怀疑牛客有bug了
为什么在vs下运行结果正确,而在牛客上总是出现段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起 case通过率为0.00%, 这是什么原因导致的额?知道怎么回事的能不能给个解决方案额 题目要求:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字 下面是我的代码:
#include<iostream>#include<vector>
using namespace std;
vector<int> res;
vector<int> printMatrix(vector<vector<int> > matrix)
{
////先输出最外面一圈
for(int l1=0;l1<matrix[0].size();l1++)
res.push_back(matrix[0][l1]);
for(int l2=1;l2<matrix.size();l2++)
res.push_back(matrix[l2][matrix[0].size()-1]);
for(int l3=matrix[0].size()-2;l3>=0;l3--)
res.push_back(matrix[matrix.size()-1][l3]);
for(int l4=matrix.size()-2;l4>=1;l4--)
res.push_back(matrix[l4][0]);
vector<vector<int>> aline;
for(int m=1;m<matrix.size()-1;m++)
{
vector<int>line;
for(int n=1;n<matrix[0].size()-1;n++)
{
line.push_back(matrix[m][n]);
}
aline.push_back(line);
}
if(aline.size()>0)
printMatrix(aline);
return res;
}
int main()
{
vector<vector<int>>aline;
for(int i=0;i<10;i++)
{
vector<int>line;
for(int j=0;j<9;j++)
{
line.push_back(j+1);
}
aline.push_back(line);
}
vector<int>res=printMatrix(aline);
for(int k=0;k<res.size();k++)
{
cout<<res[k]<<" ";
}
return 0;
}
#笔试题目#