【发布时间】:2019-05-27 07:25:48
【问题描述】:
传递大整数时出现分段错误(核心转储)。它适用于较小的输入。
将int 替换为long int 并尝试全局声明变量,但仍然是同样的错误。此函数用于执行多次右圆旋转并返回给定索引处元素的值。这是函数:
vector<long long int> circularArrayRotation(vector<long long int> a, long long int k, vector<long long int> queries) {
vector <long long int> b;
std::vector<long long int> result(queries.size());
b=a;
for(long long int j=0;j<k;j++)
{
for(long long int i=0;i<a.size();i++)
a[i]=b[(a.size()+i-1)%a.size()];
b=a;
}
for(long long int k=0;k<queries.size();k++)
result[k]=a[queries[k]];
for(long long int i=0;i<result.size();i++)
cout<<result[i]<<endl;
return result;
}
剩下的代码可以在这里找到link
【问题讨论】:
-
请出示minimal reproducible example,您的函数的参数是什么?你的函数应该做什么?