力扣面试150 分发糖果 分步贪心

Problem: 135. 分发糖果
在这里插入图片描述

思路

👨‍🏫 参考:代码随想录

  • 一次是从左到右遍历,只比较右边孩子评分比左边大的情况。
  • 一次是从右到左遍历,只比较左边孩子评分比右边大的情况。

复杂度

时间复杂度: O ( n ) O(n) O(n)

空间复杂度: O ( n ) O(n) O(n)

贪心

class Solution {
    /**
         分两个阶段
         1、起点下标1 从左往右,只要 右边 比 左边 大,右边的糖果=左边 + 1
         2、起点下标 ratings.length - 2 从右往左, 只要左边 比 右边 大,此时 左边的糖果应该 取本身的糖果数(符合比它左边大) 和 右边糖果数 + 1 二者的最大值,这样才符合 它比它左边的大,也比它右边大
    */
    public int candy(int[] ratings) {
        int len = ratings.length;
        int[] candyVec = new int[len];
        candyVec[0] = 1;
        for (int i = 1; i < len; i++) {//处理右比左大
            candyVec[i] = (ratings[i] > ratings[i - 1]) ? candyVec[i - 1] + 1 : 1;
        }

        for (int i = len - 2; i >= 0; i--) {//处理左比右大
            if (ratings[i] > ratings[i + 1]) {
                candyVec[i] = Math.max(candyVec[i], candyVec[i + 1] + 1);
            }
        }

        int ans = 0;
        for (int num : candyVec) {
            ans += num;
        }
        return ans;
    }
}

相关推荐

  1. :135. 分发糖果贪心

    2024-04-14 02:38:04       58 阅读
  2. 135. 分发糖果

    2024-04-14 02:38:04       55 阅读
  3. -135.分发糖果

    2024-04-14 02:38:04       49 阅读
  4. [题解]135. 分发糖果

    2024-04-14 02:38:04       30 阅读
  5. 面试经典150题——分发糖果

    2024-04-14 02:38:04       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 02:38:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 02:38:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 02:38:04       82 阅读
  4. Python语言-面向对象

    2024-04-14 02:38:04       91 阅读

热门阅读

  1. 斐波那契数列递归实现和for循环实现

    2024-04-14 02:38:04       33 阅读
  2. 46.全排列

    2024-04-14 02:38:04       36 阅读
  3. 负载均衡:高效分配网络资源的艺术

    2024-04-14 02:38:04       43 阅读
  4. C语言中的关键字

    2024-04-14 02:38:04       42 阅读
  5. 如何在Linux中查找名为`mysql_backup.sh`的文件

    2024-04-14 02:38:04       40 阅读
  6. 使用Python实现支持向量机算法

    2024-04-14 02:38:04       34 阅读
  7. 力扣经典150题第二十题:最长公共前缀

    2024-04-14 02:38:04       49 阅读
  8. 谷歌推出无限上下文的新Transformer

    2024-04-14 02:38:04       38 阅读