题解 | #乳牛各类产奶统计#

乳牛各类产奶统计

https://www.nowcoder.com/practice/4e4c1e24208e44a8a9b8c7dd5f829017

考察知识点:数组

题目分析:

我们分析每一个结果是由哪些数相乘得到的,从中可以发现他们的规律。

如上图所示,将每个位置的数从上到下乘起来就是最终的结果。如果我们只看右上角,那么第二个数下面的结果1可以给到第三个数,那么第三个数就只需再乘一个数2就能计算这部分的结果。同理将第三个数的结果给到第四个数,那么第四个数只需再乘一个数3就能计算这部分的结果,同理向右进行填值。

然后再看左下角,和上述算法是一样的,可以从右往左遍历一遍,利用前一个数得到的部分结果,就能很快算出当前位置的结果。

所用编程语言:C++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param milk_amount int整型vector 
     * @return int整型vector
     */
    vector<int> product_except_self(vector<int>& milk_amount) {
        // write code here
        int size = milk_amount.size();
        vector<int> others(size, 1);
        int temp = 1;
        for (int i = 0; i < size - 1; i++) {
            temp *= milk_amount[i];
            others[i + 1] = temp;
        }
        temp = 1;
        for (int i = size - 1; i > 0; i--) {
            temp *= milk_amount[i];
            others[i - 1] *= temp;
        }
        return others;
    }
};

全部评论

相关推荐

某物流公司 软件开发岗 总包26-30
点赞 评论 收藏
转发
2 收藏 评论
分享
牛客网
牛客企业服务