LEETCODE QUESTION DOUBT

Revision en3, by anushkanocoding, 2024-08-26 23:36:24

https://leetcode.com/problems/predict-the-winner/ Please check this question out on leetcode and can anyone tell me why my code wont work?

class Solution {
    public boolean stoneGame(int[] piles) {
        int total=0;
        for(int pile:piles)total+=pile;
        int [][]dp=new int[piles.length][piles.length];
        for(int []arr:dp)Arrays.fill(arr,-1);
        int alice=recursion(0,piles.length-1,piles,true,dp);
        int bob=total-alice;
        return alice>bob;
    }
    public int recursion(int start,int end,int []piles,boolean alice,int [][]dp){
        if(start>end){
            return 0;
        }
        if(dp[start][end]!=-1)return dp[start][end];
        if(alice){
            int stTake=piles[start]+recursion(start+1,end,piles,false,dp);
            int endTake=piles[end]+recursion(start,end-1,piles,false,dp);
            return dp[start][end]=Math.max(stTake,endTake);
        }
        else{
            int stTake=piles[start]+recursion(start+1,end,piles,true,dp);
            int endTake=piles[end]+recursion(start,end-1,piles,true,dp);
            return dp[start][end]=Math.min(stTake,endTake);
        }
    }
}

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en3 English anushkanocoding 2024-08-26 23:36:24 7
en2 English anushkanocoding 2024-08-26 23:11:30 30
en1 English anushkanocoding 2024-08-26 23:10:47 1213 Initial revision (published)