1518. Water Bottles

LeetCode easy original: C# #csharp #easy #leetcode
题目文本会按所选界面语言从俄语翻译;代码保持不变。

Есть numBottles бутылок с водой, которые изначально наполнены водой. Вы можете обменять numExchange пустых бутылок на одну полную бутылку воды на рынке.

Операция питья полной бутылки воды превращает её в пустую бутылку.

given два целых числа numBottles и numExchange. return максимальное количество бутылок с водой, которые вы можете выпить.

示例:

Input: numBottles = 9, numExchange = 3

Output: 13

Explanation: You can exchange 3 empty bottles to get 1 full water bottle.

Number of water bottles you can drink: 9 + 3 + 1 = 13.

C# 解法

匹配/原始
public class Solution {
    public int NumWaterBottles(int numBottles, int numExchange) {
        int consumedBottles = 0;
        while (numBottles >= numExchange) {
            consumedBottles += numExchange;
            numBottles -= numExchange;
            numBottles++;
        }
        return consumedBottles + numBottles;
    }
}

C++ 解法

自动草稿,提交前请检查
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public int NumWaterBottles(int numBottles, int numExchange) {
        int consumedBottles = 0;
        while (numBottles >= numExchange) {
            consumedBottles += numExchange;
            numBottles -= numExchange;
            numBottles++;
        }
        return consumedBottles + numBottles;
    }
}

Java 解法

匹配/原始
class Solution {
    public int numWaterBottles(int numBottles, int numExchange) {
        int consumedBottles = 0;

        while (numBottles >= numExchange) {
            consumedBottles += numExchange;
            numBottles -= numExchange;
            numBottles++;
        }

        return consumedBottles + numBottles;
    }
}

JavaScript 解法

匹配/原始
var numWaterBottles = function(numBottles, numExchange) {
    let consumedBottles = 0;

    while (numBottles >= numExchange) {
        consumedBottles += numExchange;
        numBottles -= numExchange;
        numBottles++;
    }

    return consumedBottles + numBottles;
};

Go 解法

匹配/原始
func numWaterBottles(numBottles int, numExchange int) int {
    consumedBottles := 0

    for numBottles >= numExchange {
        consumedBottles += numExchange
        numBottles -= numExchange
        numBottles++
    }

    return consumedBottles + numBottles
}

Algorithm

1⃣Инициализируйте переменную ответа consumedBottles значением 0.

2⃣Продолжайте выполнять следующие действия, пока количество numBottles больше или равно numExchange:

— Выпейте numExchange количество полных бутылок, т.е. добавьте numExchange к consumedBottles.

— Уменьшите numExchange от доступных полных бутылок numBottles.

— Обменяйте пустые бутылки на одну полную бутылку, т.е. увеличьте numBottles на одну.

3⃣return consumedBottles + numBottles.

😎

Vacancies for this task

活跃职位 with overlapping task tags are 已显示.

所有职位
目前还没有活跃职位。