2611.老鼠和奶酪

该问题是一个优化问题,目标是最大化第一只老鼠在吃掉k块奶酪时的得分。首先计算第二只老鼠的总得分,然后找出第一只老鼠与第二只老鼠得分的差距并排序,选取最大的k个差距值加到第一只老鼠的得分上,从而得出最大可能得分。

题目描述:

有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。
下标为 i 处的奶酪被吃掉的得分为:
·如果第一只老鼠吃掉,则得分为 reward1[i]。
·如果第二只老鼠吃掉,则得分为 reward2[i]。
给你一个正整数数组 reward1 ,一个正整数数组 reward2 ,和一个非负整数 k。
请你返回第一只老鼠恰好吃掉 k 块奶酪的情况下,最大得分为多少。

示例:

来源:力扣(LeetCode

解题思路:

计算第二支老鼠的总得分–>计算两只老鼠得分的差距–>将差距排序–>根据差距找到比第二支老鼠适合的得分,得到最高得分

代码附上:

class Solution {
    public int miceAndCheese(int[] reward1, int[] reward2, int k) {
        int n=reward1.length;
        int sum=0;// 记录总得分
        if(n==k) {
            // 第一只老鼠总得分
            for(int i=0;i<n;i++) {
                sum+=reward1[i];
            }
            return sum;
        }
        for(int i=0;i<n;i++) {
            // 第二只老鼠总得分
            sum+=reward2[i];
            // 第一只老鼠和第二支老鼠的差值
            reward1[i]-=reward2[i];
        }
        // 从小到大排序
        Arrays.sort(reward1);
        for(int i=0;i<k;i++) {
            sum+=reward1[n-1-i];
        }
        return sum;
    }
}
本文档分为三个主要部分: • 第一部分:关于CMMI开发模型 • 第二部分:通用目标、通用实践与过程域 • 第三部分:附录与术语表 第一部分:关于CMMI开发模型,分为五章: • 第一章:引言,提供CMMI与CMMI开发群集的概要观点、过程改进的概念、以及用于过程改进的模型的历史与不同的过程改进途径。 • 第二章:过程域组件,描述CMMI开发模型过程域4的所有组件。 • 第三章:合而为一,将所有模型组件组合起来,并解释成熟度级别与能力等级的概念。 • 第四章:过程域之间的关系,提供对CMMI-DEV过程域的含义及相互联系的深入看法。 • 第五章:使用CMMI模型,描述开发型组织采用并使用CMMI进行过程改进的路径,以及进行基准比较的实践。 第二部分:通用目标、通用实践与过程域,包含此CMMI模型中必需的组件与期望的组件的全部。还含有相关的说明性的组件,包括子实践、注释、实例与工作产品实例。 第二部分包含23个小节。第一小节包含通用目标与通用实践,剩下的22个小节中每一节阐述CMMI-DEV中的一个过程域。 为使这些过程域容易被找到,这些小节以过程域缩写的字母顺序进行组织。各小节包含对目标、最佳实践与实例的描述。 第三部分:附录与术语表,分为四小节: • 附录A:参考资料,含有诸如报告、过程改进模型、行业标准、与CMMI-DEV相关的书籍等参考资料,用来查找文档化的信息源。 • 附录B:缩写,定义了模型中使用的缩写。 • 附录C:CMMI版本1.3项目的参加者,包含参加CMMI-DEV 1.3版开发的团队成员名单。 • 附录D:术语表,定义了CMMI-DEV中使用的很多术语。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值