Untitled
unknown
plain_text
9 days ago
598 B
2
Indexable
class Solution { private long dfs(int i, int[][] questions,long[] dp) { if(i == questions.length -1) return questions[i][0]; if(i>=questions.length) return 0; if(dp[i]!=-1) return dp[i]; long take = questions[i][0] + dfs(questions[i][1]+i+1,questions,dp); long nottake = dfs(i+1,questions,dp); return dp[i] = Math.max(take,nottake); } public long mostPoints(int[][] questions) { long[] dp = new long[questions.length+1]; Arrays.fill(dp,-1); return dfs(0,questions,dp); } }
Editor is loading...
Leave a Comment