Minimum jumps required to reach end of the array
public static int [ ] minJumps ( int [ ] arr ) { int [ ] dp = new int [ arr . Length ] ; int n = dp . Length ; for ( int i = 0 ; i < n ; i ++ ) dp [ i ] = int . MaxValue ; dp [ n - 1 ] = 0 ; for ( int i = n - 2 ; i >= 0 ; i -- ) {