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

乳牛各类产奶统计

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

知识点:前缀和

思路:思考一下,比如 5 8 3 1,想求出8以外的其他乘积的和

如果遍历每个数组去求,那么求5,求8,都会重复遍历3和1,

算法无非是空间换时间,那么我们就把这个值3和1,存储起来

再思考一下,想要得到8之外的元素的乘积,无非就是8前面的元素乘积 * 8后面的元素的乘积

没错,这就是前缀和,是一个数组,存储前面元素的乘积或者累积

编程语言:java

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param milk_amount int整型一维数组
     * @return int整型一维数组
     */
    public int[] product_except_self (int[] milk_amount) {
        // write code here
        //得到前缀和
        int pre[] = new int[milk_amount.length];
        pre[0] = 1;
        for (int i = 1; i < milk_amount.length; i++) {
            pre[i] = pre[i - 1] * milk_amount[i - 1];
        }
        //得到后缀和
        int res[] = new int[milk_amount.length];
        res[milk_amount.length - 1] = 1;
        for (int i = milk_amount.length - 2; i >= 0; i--) {
            res[i] = res[i + 1] * milk_amount[i + 1];
        }

        //前缀和*后缀和
        for (int i = 0; i < milk_amount.length; i++) {
            res[i] = res[i] * pre[i];
        }
        return res;
    }
}

全部评论

相关推荐

07-04 21:23
已编辑
东莞城市学院 后端
秋招和春招只收到几个中大厂的笔试,本人比较菜,感觉大厂的笔试太难,算法题不能全部做出来就没过了,但是CVTE和小天才的感觉不是很难,基本上都做出来了,笔试还是挂了。Boss上投了Java后端开发都没有回音,boss上有面试机会都是C#工控软件开发方向的,但是这个方向不太懂,资料又少,面试的表现有点差,现在还是想看看Java这边,面试的时候比较有把握点。想请教一下,这份简历还有什么问题,一直没什么机会,还有什么地方要修改的。
程序员小白条:学历太差,民办和公办,外包还得区分的,这个学历+这个简历,没的办法,除非你有人脉,太难了,这环境,何况你都毕业了,连一段实习都没,肯定没公司会挑选了,没竞争力,开发才招几个人,跟你竞争的可不是二本,三本的人哦,何况你在二本,三本里面也排名不高
投递小天才等公司7个岗位
点赞 评论 收藏
分享
05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务