题解 | #数组中重复的数字#
构建乘积数组
http://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46
初学者也能看得懂的题解:
len=A.size(); //char B[len]; vector<int> B; //一开始创建的是char数组,运行时提示返回值不一致,所以创建vector类型 int mul=1; for(int i=0; i<len; i++) //B数组的下标i { for(int j=0; j<len; j++) //对A数组除i下标以外的元素遍历并乘积 { if(i != j) { mul*=A[j]; } } B.push_back(mul); //vector容器的尾插法 mul=1; } return B;本题重点需要的知识点:vector容器的学习(创建数据,并进行尾插法操作)。解题逻辑并不难,创建一个数组B,对于B[i]的元素,只需要遍历A数组中除第i个元素以外的元素(题中if(i != j))并相乘(题中mul*=A[j])即可。