首页 > 代码库 > leetcode486
leetcode486
public class Solution { public bool PredictTheWinner(int[] nums) { // int n = nums.Length; // int[,] dp = new int[n, n]; // for (int i = 0; i < n; i++) { dp[i, i] = nums[i]; } // for (int len = 1; len < n; len++) // { // for (int i = 0; i < n - len; i++) // { // int j = i + len; // dp[i, j] = Math.Max(nums[i] - dp[i + 1, j], nums[j] - dp[i, j - 1]); // } // } // return dp[0, n - 1] >= 0; if (nums == null) { return true; } int n = nums.Length; if ((n & 1) == 0) { return true; } // Improved with hot13399‘s comment. int[] dp = new int[n]; for (int i = n - 1; i >= 0; i--) { for (int j = i; j < n; j++) { if (i == j) { dp[i] = nums[i]; } else { dp[j] = Math.Max(nums[i] - dp[j], nums[j] - dp[j - 1]); } } } return dp[n - 1] >= 0; } }
https://leetcode.com/problems/predict-the-winner/#/description
leetcode486
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。