這是一道區(qū)間dp的問(wèn)題,我們可以先用遞歸的方法求解。
int?chooseStart?=?nums[start]-dfs(nums,start+1,end);//表示先手拿了第一個(gè)數(shù)之后,減去,往后對(duì)手贏過(guò)自己的分?jǐn)?shù)(對(duì)剩余數(shù)組遞歸)
int?chooseEnd?=?nums[end]?-?dfs(nums,start,end-1);//表示先手拿了最后一個(gè)數(shù)之后,減去,往后對(duì)手贏過(guò)自己的分?jǐn)?shù)(對(duì)剩余數(shù)組遞歸)
二者選擇其中最大的一種

題目

code

動(dòng)態(tài)規(guī)劃方法一

動(dòng)態(tài)規(guī)劃法二

題目

代碼-與上一題一樣