多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 《劍指offer》:[52]構建乘積數組

《劍指offer》:[52]構建乘積數組

來源:程序員人生   發布時間:2016-07-08 16:08:33 閱讀次數:2606次
題目:給定1個數組A[0,1,2...N⑴],請構建1個數組B[0,1,2,...N⑴],使B中的元素B[i]=A[0]*A[1]*...*A[i⑴]*a[i+1]*...*a[n⑴],不能使用除法。
解決思路:通過正反兩次來求B[i];  
          正著:B[i]=A[0]*...A[i⑴];
          反著:temp = B[N]*...B[i+1];
 最后通過B[i]*temp就能夠求出結果了。  
以A[0,1,2,3,4],求B[0,1,2,3,4]為例:
步驟分析:
第1步:b[0] = 1;  
第2步:b[1] = b[0] * a[0] = a[0]  
第3步:b[2] = b[1] * a[1] = a[0] * a[1];  
第4步:b[3] = b[2] * a[2] = a[0] * a[1] * a[2];  
第5步:b[4] = b[3] * a[3] = a[0] * a[1] * a[2] * a[3];  
然后對第2個for循環  
第1步:
temp *= a[4] = 1*a[4];   
b[3] = b[3] * temp = a[0] * a[1] * a[2] * a[4];  
第2步:  
temp *= a[3] = a[4] * a[3];  
b[2] = b[2] * temp = a[0] * a[1] * a[4] * a[3];  
第3步: 
temp *= a[2] = a[4] * a[3] * a[2];   
b[1] = b[1] * temp = a[0] * a[4] * a[3] * a[2];  
第4步: 
temp *= a[1] = a[4] * a[3] * a[2] * a[1];   
b[0] = b[0] * temp = a[4] * a[3] * a[2] * a[1];  
具體實現代碼以下:
#include <iostream> using namespace std; #include <vector> vector<int> array1; vector<int> array2(5); void multiply(const vector<int> &array1,vector<int> &array2) { int length1=array1.size(); int length2=array2.size(); if(length1==length2 && length2>1) { array2[0]=1; for(int i=1;i<length1;i++) { array2[i]=array2[i⑴]*array1[i⑴]; } double temp=1; for(int i=length1⑵;i>=0;i--) { temp*=array1[i+1]; array2[i]*=temp; } } } int main() { for(int i=0;i<5;i++) array1.push_back(i+1); multiply(array1,array2); vector<int>::iterator it1; vector<int>::iterator it2; cout<<"A數組為:"; for(it1=array1.begin();it1!=array1.end();it1++) cout<<*it1<<" "; cout<<endl; cout<<"B數組為:"; for(it2=array2.begin();it2!=array2.end();it2++) cout<<*it2<<" "; cout<<endl; system("pause"); return 0; }

主要是利用中間結果變量。運行結果:


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久国产免费一区二区三区 | 精品久久久久国产免费 | 国产欧美在线一区二区三区 | 可以免费观看一级毛片黄a 可以免费看的黄色网址 | 日本免费一区二区视频 | 黄色免费大全 | 女人18毛片a级18毛多水真多 | 亚洲噜噜噜噜噜影院在线播放 | xh98hx国产在线视频 | 免费看啪啪网站 | 亚洲国产欧美日韩一区二区 | 免费aⅴ网站 | 91欧美精品综合在线观看 | 涩涩伊人| 伊人中文在线 | 亚洲国产欧美在线成人aaaa | 日韩精品一区二区三区中文精品 | 五月天亚洲视频 | 东方aⅴ免费观看久久av | 国产精品福利视频手机免费观看 | 毛片大片| 欧美操片在线观看 | 在线亚洲精品自拍 | 免费福利午夜影视网 | 亚洲国产精品一区二区久久 | 久久国产精品亚洲一区二区 | 日本a黄| 国产片在线 | 亚洲欧美日韩久久一区 | 性亚洲 | 成 人 亚洲 综合天堂 | 午夜成年视频 | 2020国产成人精品视频人 | 手机看片福利国产 | 国产精品性 | 我想看一级毛片免费的 | 欧美一级毛片欧美大尺度一级毛片 | 男女精品视频 | 亚洲精品第一综合99久久 | 日韩欧美~中文字幕 | 韩国全部三级伦在线 |