题解 | #数组中重复的数字#

构建乘积数组

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])即可。

全部评论

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
2 收藏 评论
分享
牛客网
牛客企业服务