题目大意
https://leetcode.com/problems/predict-the-winner/
给你一个数组,有两个player从数组中拿数,你现在是player1,也就是说先拿,判断最后你拿到的数字之和是否比player2多就赢了,具体拿数规则是只能从数组两端选择一个数拿走,拿走的数以后不能重复拿取。
题目分析
动态规划,跟之前的Can I Win有些类似之处,二维数组中f[i][j]
含义是原数组的[i,j]
闭区间上player1进行按规则选择所能得到的最大和,那么最后只要和能大于等于总和的一半就赢了。
代码
|
|
时间复杂度:O(n ^ 2)