生日蛋糕蜡烛-Hackerrank

 收藏

我针对此问题的代码适用于8/9测试用例。但我不知道为什么它不能在最后一种情况下工作。

function birthdayCakeCandles(ar) {
    const candleHeights = {};
    for (let i = 0; i < ar.length; i++) {
        if (candleHeights[ar[i]]) {
            candleHeights[ar[i]]++;
        } else {
            candleHeights[ar[i]] = 1;
        }
    }
    let tallestCandle = 0;
    let candleCount;
    for (let [key, value] of Object.entries(candleHeights)) {
    if (key > tallestCandle){
        tallestCandle = key;
        candleCount = value;
        }
    }
    return candleCount;
}

问题:

您负责侄女的生日蛋糕,并决定在她的总年龄中,每年有一个蜡烛。当她吹灭蜡烛时,她只能吹出最高的蜡烛。您的任务是找出她可以成功吹灭多少支蜡烛。

例如,如果您的侄女要岁了,并且蛋糕上的蜡烛高度为,,,,则她将能够成功吹灭蜡烛,因为最高的蜡烛是高度很高的蜡烛。

功能说明

在下面的编辑器中完成功能BirthdayCakeCandles。它必须返回一个整数,代表她可以吹灭的蜡烛数量。

BirthdayCakeCandles具有以下参数:

ar:代表蜡烛高度的整数数组 输入格式

第一行包含一个整数,表示蛋糕上蜡烛的数量。 第二行包含以空格分隔的整数,其中每个整数都描述Candle的高度。

输出格式

返回可以在新行上吹灭的蜡烛数。

样本输入0

4
3 2 1 3

样本输出0

2

说明0

我们有一蜡烛高,一蜡烛高,两蜡烛高。你的侄女只吹出最高的蜡烛,这意味着蜡烛在哪里。因为有这样的蜡烛,所以我们在新行上打印。

失败的测试用例如下所示:

输入(标准输入)

100000

1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 10{-truncated-}

预期产量

99999

数组中除1以外的所有数字都是1000,再加上一个999。

我不确定为什么失败,可能是约束。

click here to see them: constraints

回复