面試OR筆試29——構建乘積數組

題目及要求

1.1 題目描述

給定數組A[0, 1, 2, ......, n-1],請構建數組B[0, 1, 2, ......, n-1],其中B中的元素B[i]=A[0]×A[1]×A[2]×......×A[i-1]×A[i+1]×......×A[n-1]

 

2 解答

2.1 代碼


void multiply(const double *v, int vn, double *out){
	if(!(v && out && 0<vn)) return;
	out[0] = 1;
	for(int k1(1);k1<vn;++k1) out[k1] = out[k1-1]*v[k1-1];
	double tmp =1;
	for(int k1(vn-1);-1<k1;--k1){
		out[k1] *= tmp;
		tmp *= v[k1];
	}
}





發佈了58 篇原創文章 · 獲贊 23 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章