Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

class Solution {

public int jobScheduling(int[] startTime, int[] endTime, int[] profit) {


int n = endTime.length;
int[][] arr = new int[n][3];
for(int i=0;i<n;i++){
arr[i][0] = startTime[i];
arr[i][0] = endTime[i];
arr[i][0] = profit[i];
max = Math.max(endTime[i],max);
}

Arrays.sort(arr,(a,b)->{
return Integer.compare(a[1],b[1])
});

int[][] dp = new int[n][max+1];


for(int i=0;i<n;i++)
Arrays.fill(dp[i],-1);
return maxi(n-1,max,dp,arr);
}

public int maxi(int i,int j,int[][] dp,int[][] arr){


if(i<0)
return 0;
if(dp[i][j] == -1){
if(arr[i][1]<=j)
dp[i][j] = Math.max(arr[i][2] + maxi(i-1,arr[i][0],dp,arr) ,
maxi(i-1,j,dp,arr));
else
dp[i][j] = maxi(i-1,j,dp,arr);
}
return dp[i][j];
}
}

You might also like