题解 | #数组中重复的数字#
构建乘积数组
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])即可。
腾讯成长空间 2144人发布