题解 | #乳牛各类产奶统计#
乳牛各类产奶统计
https://www.nowcoder.com/practice/4e4c1e24208e44a8a9b8c7dd5f829017
题目考察的知识点:二分
题目解答方法的文字分析:v1数组存放左边的乘积,v2数组存放右边的乘积,一个数的左右两边乘积等于数组 milk_amount 中除了 milk_amount[i] 之外其他元素的乘积。
本题解析所用的编程语言: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 n = milk_amount.size(); vector<int> v(n), v1(n), v2(n); int x = 1, y = 1; for (int i = 0, j = milk_amount.size() - 1; i < milk_amount.size(); ++i, --j) { x *= milk_amount[i]; y *= milk_amount[j]; v1[i] = x; v2[j] = y; } v[0] = v2[1]; v[n - 1] = v1[n - 2]; for (int i = 1; i < milk_amount.size() - 1; ++i) v[i] = v1[i - 1] * v2[i + 1]; return v; } };