刷题记录:贪心 | leetcode-2611. 老鼠和奶酪 2023/6/7

2611. 老鼠和奶酪

一个贪心问题。

我的做法是题解的第一个做法,贪心+排序。

这道题是一个一维的问题,不用回退,因此我很快反应过来这是一道贪心的题目。关键点在于如何实现。

简单先贴一下代码吧,后续有空再来补记录~~

class Solution {
    public int miceAndCheese(int[] reward1, int[] reward2, int k) {
        int len = reward1.length;
        int sum = 0;    //reward2中元素和
        for (int x : reward2) {
            sum += x;
        }

        int[] diffs = new int[len];
        for (int i = 0; i < len; i++) {
            diffs[i] = reward1[i]-reward2[i];
        }
        Arrays.sort(diffs);
        int diff_sum = 0;
        int i = len-1;
        while(k != 0) {
            diff_sum += diffs[i];
            i--;
            k--;
        }
        return sum + diff_sum;
    }
}

你可能感兴趣的:(碳基肥宅的刷题日志,leetcode,算法,数据结构)