比如数组{7,5,3,4},输出12,10,11,8,9,7
时间复杂度o(n),所以不能用循环嵌套
时间复杂度O(n)绝对不可能,起码O(n^2)
不用循环或者只用一个循环是可以的。
#include "stdio.h"
void foo(int * arr, int n, int acc)
{
if (acc == n * n) return;
if (acc / n > acc % n)
printf("%d ", arr[acc / n] + arr[acc % n]);
foo(arr, n, acc + 1);
}
int main()
{
int arr[] = { 7, 5, 3, 4 };
foo(arr, 4, 0);
return 0;
}
你好,我想问下python中可以运行这个编码吗