Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 6ca4a2b

Browse files
refactor 486
1 parent 911ea85 commit 6ca4a2b

File tree

1 file changed

+1
-31
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+1
-31
lines changed

src/main/java/com/fishercoder/solutions/_486.java

+1-31
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,5 @@
11
package com.fishercoder.solutions;
22

3-
/**
4-
* 486. Predict the Winner
5-
*
6-
* Given an array of scores that are non-negative integers.
7-
* Player 1 picks one of the numbers from either end of the array followed by the player 2 and then player 1 and so on.
8-
* Each time a player picks a number, that number will not be available for the next player.
9-
* This continues until all the scores have been chosen.
10-
* The player with the maximum score wins.
11-
* Given an array of scores, predict whether player 1 is the winner.
12-
* You can assume each player plays to maximize his score.
13-
14-
Example 1:
15-
Input: [1, 5, 2]
16-
Output: False
17-
Explanation: Initially, player 1 can choose between 1 and 2.
18-
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).
19-
So, final score of player 1 is 1 + 2 = 3, and player 2 is 5.
20-
Hence, player 1 will never be the winner and you need to return False.
21-
22-
Example 2:
23-
Input: [1, 5, 233, 7]
24-
Output: True
25-
Explanation: Player 1 first chooses 1. Then player 2 have to choose between 5 and 7. No matter which number player 2 choose, player 1 can choose 233.
26-
Finally, player 1 has more score (234) than player 2 (12), so you need to return True representing player1 can win.
27-
28-
Note:
29-
1 <= length of the array <= 20.
30-
Any scores in the given array are non-negative integers and will not exceed 10,000,000.
31-
If the scores of both players are equal, then player 1 is still the winner.
32-
*/
333
public class _486 {
344

355
public static class Solution1 {
@@ -40,7 +10,7 @@ public static class Solution1 {
4010
* For player1 to win, he/she has to get more than what player2 gets.
4111
* If we think from the prospective of one player, then what he/she gains each time is a plus,
4212
* while, what the other player gains each time is a minus. Eventually if player1 can have a >0 total, player1 can win.
43-
*
13+
* <p>
4414
* Helper function simulate this process. In each round:
4515
* if e==s, there is no choice but have to select nums[s]
4616
* otherwise, this current player has 2 options:

0 commit comments

Comments
 (0)