可以利用额外的空间则可以遍历两次
时间复杂度O(N) 空间复杂度O(1)
void Translate(int a[], int b[], int n) { b[0] = 1; for (int i = 1; i <= n-1; i++) { b[i] = b[i-1]*a[i-1]; } for (int i = n-1; i >= 1; i--) { b[i] *= b[0]; b[0] *= a[i]; } }
可以利用额外的空间则可以遍历两次
时间复杂度O(N) 空间复杂度O(1)
void Translate(int a[], int b[], int n) { b[0] = 1; for (int i = 1; i <= n-1; i++) { b[i] = b[i-1]*a[i-1]; } for (int i = n-1; i >= 1; i--) { b[i] *= b[0]; b[0] *= a[i]; } }