代码在我的 Dev C++ IDE 上运行良好,但在 HackerRank IDE 上总是失败。
我有什么错误吗?
这是问题的链接:
https://www.hackerrank.com/challenges/arrays-ds/problem?isFullScreen=true
我写的函数如下,请解释一下哪里出错了?
int* reverseArray(int a_count, int* a, int* result_count) {
int i, j;
for(i=0; i<a_count; i++) {
result_count[i] = a[i];
}
for(j=a_count-1; j>=0; j--) {
printf("%d ",result_count[j]);
}
return result_count;
}
你的答案是正确的,你将数组1的元素从末尾复制到数组2的开头
如果你想在同一个数组中反转你的数组,你只需使用变量临时来交换元素,如下所示:
#include<stdio.h>
void* reverseArray(int a_count, int* a) //you return an array (type complexe) so ,you should use void
{
int temp=0;
for(int i=0; i<a_count/2; i++)
{
temp= a[a_count-i-1];
a[a_count-i-1]=a[i];
a[i]=temp;
}
for(int i=0; i<a_count; i++)
{
printf("%d ",a[i]);
}
}
int main()
{
int t[5]={1,2,3,4,5};
reverseArray(5,t);
}
#!/bin/python3
导入操作系统
定义反向数组(a): 返回[::-1]
if name == 'main': fptr = open(os.environ['OUTPUT_PATH'], 'w')
arr_count = int(input().strip())
arr = list(map(int, input().rstrip().split()))
res = reverseArray(arr)
fptr.write(' '.join(map(str, res)))
fptr.write('\n')