【每日一题Day229】LC2611老鼠和奶酪 | 排序+贪心

news/2024/11/18 4:26:18/

老鼠和奶酪【LC2611】

有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。

下标为 i 处的奶酪被吃掉的得分为:

  • 如果第一只老鼠吃掉,则得分为 reward1[i]
  • 如果第二只老鼠吃掉,则得分为 reward2[i]

给你一个正整数数组 reward1 ,一个正整数数组 reward2 ,和一个非负整数 k

请你返回第一只老鼠恰好吃掉 k 块奶酪的情况下,最大 得分为多少。

套路题,也不大容易想到

  • 思路

    假设所有的奶酪都没第二只老鼠吃了,那么此时得分为 s u m ( r e w a r d 2 [ i ] ) sum(reward2[i]) sum(reward2[i]),在此基础上我们需要挑选 k k k块奶酪给第一只老鼠吃,那么此时分数的变化量为
    d i f f = ∑ i = 0 k r e w a r d 1 [ i ] − r e w a r d 2 [ i ] diff=\sum _{i=0}^{k} reward1[i]-reward2[i] diff=i=0kreward1[i]reward2[i]
    我们需要尽可能使diff大【局部最优】,以获得最大得分【全局最优】,因此可以将数组reward1[i]-reward2[i]排序,累加最大的 k k k个变化量至sum,即为最终结果

  • 实现

    class Solution {public int miceAndCheese(int[] reward1, int[] reward2, int k) {int res = 0, n = reward1.length;for (int i = 0; i < n; i++){res += reward2[i];reward1[i] -= reward2[i];}Arrays.sort(reward1);for (int i = 0; i < k; i++){res += reward1[n - 1 - i];}return res;}
    }
    
    • 复杂度
      • 时间复杂度: O ( n log ⁡ n ) O(n \log n) O(nlogn)
      • 空间复杂度: O ( log ⁡ n ) O(\log n) O(logn)

http://www.ppmy.cn/news/258180.html

相关文章

集合面试题

集合面试题 arrayList 继承AbstractList,实现了List接口,意味着ArrayList元素是有序的,可以重复的,可以有null元素的集合.实现了RandomAccess接口标识着其支持随机快速访问,因为ArrayList底层是数组,那么随机快速访问是理所当然的,访问速度O(1)。实现了Cloneable接口,标识着可…

2023北京高考作文,AI助手来应考,能满分?

微写作&#xff08;10分&#xff09; 从下面三个题目中任选一题&#xff0c;按要求作答。不超过150字。不透露所在区、学校及个人信息。 &#xff08;1&#xff09;近年来&#xff0c;微信公众号成为信息传播的一种重要媒介。班级准备创建自己的公众号&#xff0c;但对是否需…

QCS6490、QCM6490 高通物联网模组 解决方案

QCS6490和QCM6490是高通公司专门面向高端物联网终端而优化的首款物联网解决方案&#xff0c;旨在提供顶级特性&#xff0c;包括全球5G连接和超高速Wi-Fi 6E。凭借Kryo 670 CPU架构&#xff0c;该解决方案提供强大性能并专为工业和商业物联网应用打造&#xff0c;该解决方案支持…

用MATLAB求一组数据的自相关函数和偏相关函数,并画图

某条河流的一个水文站从1915年到1973年记录的最大径流量见下&#xff0c;共59个数据。 15600 8960 10400 10600 10800 9880 9850 10900 8810 9960 12200 7510 8640 6380 6810 8820 14400 7440 7240 6430 11000 7340 9260 5290 9130 7480 6980 9650 7260 8750 9900 7310 9040 7…

2022年NFT安全事件分析:哪些典型案列值得我们警惕?

1、上半年NFT领域安全事件的总损失有多少&#xff1f; 据成都链安鹰眼区块链安全态势感知平台监控显示&#xff0c;2022年上半年&#xff0c;共监测到NFT领域主要安全事件10起&#xff0c;统计到的损失约为6490万美元&#xff0c;主要攻击方式为合约漏洞利用、私钥泄露、钓鱼等…

Mysql出现死锁解决办法

今天使用mysql过程中&#xff0c;突然就卡死了&#xff0c;在客户端执行删除表格操作时&#xff0c;报错&#xff1a; Deadlock found when trying to get lock 上网查询过后解释说是死锁&#xff0c;也就是表格被锁住了&#xff0c;当时只想着怎么解除这个状态&#xff0c;网…

hive启动报错:Caused by: java.lang.IllegalArgumentException: java.net.UnknownHostException: ns1

目录 报错内容 报错原因 解决方案 报错内容 有两种报错,但解决方案是同一个 报错一: Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.…

BUUCTF Basic 持续更新

Linux Labs 题目&#xff1a;ssh 用户名&#xff1a;root 密码&#xff1a;123456 地址和端口为动态分配的。 靶机信息 解题: 按照题目建立ssh连接 登录后&#xff0c;可以看到根目录中有flag BUU LFI COURSE 1 题目&#xff1a; <?php/** * Created by PhpStorm. *…