Java 题解 | #牛奶工厂#

牛奶工厂

https://www.nowcoder.com/practice/264efc6e41394a0286c51eb2521ba386

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param time1 int整型一维数组
     * @param time2 int整型一维数组
     * @param m int整型
     * @param n int整型
     * @return int整型
     */
    public int milk_sum (int[] time1, int[] time2, int m, int n) {
        // write code here
        // 创建一个新数组用于存储合并后的生产时间
        int[] mergedTimes = new int[m + n];

// 合并两个数组,保持非递减顺序
        int i = 0, j = 0, k = 0;
        while (i < m && j < n) {
            if (time1[i] <= time2[j]) {
                mergedTimes[k++] = time1[i++];
            } else {
                mergedTimes[k++] = time2[j++];
            }
        }

// 将剩余未合并的元素添加到新数组中
        while (i < m) {
            mergedTimes[k++] = time1[i++];
        }
        while (j < n) {
            mergedTimes[k++] = time2[j++];
        }

// 计算合并后的数组中生产时间之和
        int sum = 0;
        for (int time : mergedTimes) {
            sum += time;
        }

        return sum;
    }
}

该题考察的知识点:

  • 数组操作
  • 指针技巧
  • 数组长度和元素数目

代码的文字解释:

  1. 初始化三个指针ijk,分别指向数组time1time2mergedTimes的起始位置。
  2. 使用while循环,同时遍历数组time1time2,比较当前位置上的元素大小,并将较小的元素添加到mergedTimes数组中,然后将相应的指针右移。
  3. 当其中一个数组遍历完毕后,将剩余未合并的元素依次添加到mergedTimes数组中。
  4. 使用for循环遍历mergedTimes数组,计算所有生产时间的总和并将其累加到变量sum中。
  5. 返回计算得到的sum值作为结果。
全部评论

相关推荐

就前几天旅游的时候,打开抖音就经常刷到这类视频:以前是高学历学生、老师、主持人,现在做着团播、擦边主播的工作,以及那些经过精心包装的“职业转型”故事——从铺天盖地的VLOG到所谓的“04年夜场工作日记”,这些内容在初中升学、高考放榜等关键时间节点持续发酵。可以说非常直接且精准地在潜移默化地影响着心智尚未成熟的青少年,使其对特殊行业逐渐脱敏。那我就想问了:某些传播公司、平台运营者甚至某些夜场的老板,你们究竟在传递怎样的价值观?点开那些视频,评论区里也是呈现明显的两极分化:一种是​​经济下行论​​:“现在就业市场已经艰难到这种程度了吗?”​​一种是事实反驳派​​:这些创作者往往拥有名校背景,从事着...
牛客刘北:被环境教育的,为了能拿到足够的钱养活自己,不甘心也得甘心,现在的短视频传播的思想的确很扭曲,但是很明显,互联网玩上一年你就能全款提A6,但你全心全意不吃不喝工作一年未必能提A6,但是在高考中考出现这个的确很扭曲,在向大家传播“不上学,玩互联网也可以轻松年入百万”,不是人变了,是社会在变
预测一下26届秋招形势
点赞 评论 收藏
分享
06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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