列表

详情


100375. 求出硬币游戏的赢家

给你两个  整数 x 和 y ,分别表示价值为 75 和 10 的硬币的数目。

Alice 和 Bob 正在玩一个游戏。每一轮中,Alice 先进行操作,Bob 后操作。每次操作中,玩家需要拿出价值 总和 为 115 的硬币。如果一名玩家无法执行此操作,那么这名玩家 输掉 游戏。

两名玩家都采取 最优 策略,请你返回游戏的赢家。

 

示例 1:

输入:x = 2, y = 7

输出:"Alice"

解释:

游戏一次操作后结束:

示例 2:

输入:x = 4, y = 11

输出:"Bob"

解释:

游戏 2 次操作后结束:

 

提示:

相似题目

我能赢吗

预测赢家

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: string losingPlayer(int x, int y) { } };

php 解法, 执行用时: 0 ms, 内存消耗: 20 MB, 提交时间: 2024-11-05 10:13:35

class Solution {

    /**
     * @param Integer $x
     * @param Integer $y
     * @return String
     */
    function losingPlayer($x, $y) {
        return min($x, intval($y/4)) % 2 == 1? "Alice":  "Bob";
    }
}

rust 解法, 执行用时: 2 ms, 内存消耗: 2.1 MB, 提交时间: 2024-07-22 22:55:02

impl Solution {
    pub fn losing_player(x: i32, y: i32) -> String {
        let min_val = std::cmp::min(x, y / 4);
        if min_val % 2 == 0 {
            "Bob".to_string()
        } else {
            "Alice".to_string()
        }
    }
}

javascript 解法, 执行用时: 83 ms, 内存消耗: 49.7 MB, 提交时间: 2024-07-22 22:49:46

/**
 * @param {number} x
 * @param {number} y
 * @return {string}
 */
var losingPlayer = function(x, y) {
    return Math.min(x, Math.floor(y / 4)) % 2 === 0 ? "Bob" : "Alice";
};

golang 解法, 执行用时: 0 ms, 内存消耗: 2.3 MB, 提交时间: 2024-07-22 22:46:40

func losingPlayer(x, y int) string {
	return [2]string{"Bob", "Alice"}[min(x, y/4)%2]
}

cpp 解法, 执行用时: 0 ms, 内存消耗: 7.5 MB, 提交时间: 2024-07-22 22:46:23

class Solution {
public:
    string losingPlayer(int x, int y) {
        return min(x, y / 4) % 2 ? "Alice" : "Bob";
    }
};

java 解法, 执行用时: 0 ms, 内存消耗: 40.7 MB, 提交时间: 2024-07-22 22:46:09

class Solution {
    public String losingPlayer(int x, int y) {
        return Math.min(x, y / 4) % 2 == 0 ? "Bob" : "Alice";
    }
}

python3 解法, 执行用时: 37 ms, 内存消耗: 16.5 MB, 提交时间: 2024-07-22 22:45:55

class Solution:
    # 10 * 4 + 75 * 1
    def losingPlayer(self, x: int, y: int) -> str:
        return "Alice" if min(x, y // 4) % 2 else "Bob"

上一题