求解:给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i].

问题描述:

求解:给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i]. 下面是完整题目
给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i].在构造过程:
不允许使用除法;
要求O(1)空间复杂度和O(n)时间复杂度;
除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、对空间和全局静态变量等);
请用程序实现并简单描述.
1个回答 分类:综合 2014-09-23

问题解答:

我来补答
int main(){
\x09const int n = 8;
\x09int a[n] = {1,2,3,4,5,6,7,8};
\x09int b[n];
\x09b[n-1] = 1;
\x09for (int i=n-2;i>=0;i--)
\x09\x09b[i] = b[i+1]*a[i+1];
\x09
\x09int c = 1;
\x09for(int i=1;i
 
 
展开全文阅读
剩余:2000
下一页:请说清为什么