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

乳牛各类产奶统计

https://www.nowcoder.com/practice/4e4c1e24208e44a8a9b8c7dd5f829017?tpId=354&tqId=10588090&ru=/exam/company&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Fcompany

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param milk_amount int整型一维数组
     * @return int整型一维数组
     */
    public int[] product_except_self (int[] milk_amount) {
        // write code here
        int n = milk_amount.length;
        int[] prefixProduct = new int[n];
        int[] suffixProduct = new int[n];
        int[] others = new int[n];

        // Calculate prefix product
        int prefix = 1;
        for (int i = 0; i < n; i++) {
            prefixProduct[i] = prefix;
            prefix *= milk_amount[i];
        }

        // Calculate suffix product
        int suffix = 1;
        for (int i = n - 1; i >= 0; i--) {
            suffixProduct[i] = suffix;
            suffix *= milk_amount[i];
        }

        // Calculate others array
        for (int i = 0; i < n; i++) {
            others[i] = prefixProduct[i] * suffixProduct[i];
        }

        return others;
    }
}

考察的知识点:

  1. 数组操作:计算前缀乘积和后缀乘积。
  2. 循环遍历:遍历数组来计算前缀乘积和后缀乘积。

解题思路:

这个问题可以使用前缀和和后缀和的方法来解决。首先,我们可以计算数组中每个位置的前缀乘积和后缀乘积,然后将它们相乘即可得到其他品种的牛产奶量的乘积。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务