486. Predict the Winner Medium
1/**
2 * [486] Predict the Winner
3 *
4 * You are given an integer array nums. Two players are playing a game with this array: player 1 and player 2.
5 * Player 1 and player 2 take turns, with player 1 starting first. Both players start the game with a score of 0. At each turn, the player takes one of the numbers from either end of the array (i.e., nums[0] or nums[nums.length - 1]) which reduces the size of the array by 1. The player adds the chosen number to their score. The game ends when there are no more elements in the array.
6 * Return true if Player 1 can win the game. If the scores of both players are equal, then player 1 is still the winner, and you should also return true. You may assume that both players are playing optimally.
7 *
8 * Example 1:
9 *
10 * Input: nums = [1,5,2]
11 * Output: false
12 * Explanation: Initially, player 1 can choose between 1 and 2.
13 * If he chooses 2 (or 1), then player 2 can choose from 1 (or 2) and 5. If player 2 chooses 5, then player 1 will be left with 1 (or 2).
14 * So, final score of player 1 is 1 + 2 = 3, and player 2 is 5.
15 * Hence, player 1 will never be the winner and you need to return false.
16 *
17 * Example 2:
18 *
19 * Input: nums = [1,5,233,7]
20 * Output: true
21 * Explanation: Player 1 first chooses 1. Then player 2 has to choose between 5 and 7. No matter which number player 2 choose, player 1 can choose 233.
22 * Finally, player 1 has more score (234) than player 2 (12), so you need to return True representing player1 can win.
23 *
24 *
25 * Constraints:
26 *
27 * 1 <= nums.length <= 20
28 * 0 <= nums[i] <= 10^7
29 *
30 */
31pub struct Solution {}
32
33// problem: https://leetcode.com/problems/predict-the-winner/
34// discuss: https://leetcode.com/problems/predict-the-winner/discuss/?currentPage=1&orderBy=most_votes&query=
35
36// submission codes start here
37
38impl Solution {
39 pub fn predict_the_winner(nums: Vec<i32>) -> bool {
40 false
41 }
42}
43
44// submission codes end
45
46#[cfg(test)]
47mod tests {
48 use super::*;
49
50 #[test]
51 fn test_486() {
52 }
53}
54
Back
© 2025 bowen.ge All Rights Reserved.