我都快怀疑牛客有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;
}

#笔试题目#
全部评论
这个你写几个测试数据看看就知道了啊, 长度从0-10的矩阵都试试
点赞 回复 分享
发布于 2018-07-07 15:30
你的测试数据太弱
点赞 回复 分享
发布于 2018-07-07 15:34
肯定是一个空的测试样例进去函数就duang( 对空用例要返回一个空容器
点赞 回复 分享
发布于 2018-07-07 15:47

相关推荐

不愿透露姓名的神秘牛友
02-12 18:14
RT,这周五就是情人节了,前女友给我发了消息,我该不该回?
Yoswell:原则上来说让她滚,但是本着工作很累下班想吃瓜的心态,我觉得你可以回一下
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务