2
public boolean PredictTheWinner(int[] nums) {3
return predictTheWinner(nums, 0, nums.length - 1, true, 0, 0);6
private boolean predictTheWinner(7
int[] nums, int start, int end, boolean isP1Turn, long p1Score, long p2Score) {9
return p1Score >= p2Score;15
firstTry = predictTheWinner(nums, start + 1, end, false, p1Score + nums[start], p2Score);16
secondTry = predictTheWinner(nums, start, end - 1, false, p1Score + nums[end], p2Score);19
firstTry = predictTheWinner(nums, start + 1, end, true, p1Score, p2Score + nums[start]);20
secondTry = predictTheWinner(nums, start, end - 1, true, p1Score, p2Score + nums[end]);22
return isP1Turn ? (firstTry || secondTry) : (firstTry && secondTry);