<gouthampradhan>dynamic_programming_LongestIncreasingSubsequence_1.java
public int lengthOfLIS(int[] nums) {
    if (nums.length == 0) return 0;
    int[] A = new int[nums.length];
    int max = Integer.MIN_VALUE;
    for (int i = 0, l = nums.length; i < l; i++) {
      int lis = 1;
      for (int j = 0; j < i; j++) {
        if (nums[i] > nums[j]) lis = Math.max(lis, A[j] + 1);
      }
      A[i] = lis;
      max = Math.max(max, A[i]);
    }
    return max;
  }
public int sample_funcname ( int [ ] var_0 ) {
  if ( var_0 . length == 0 ) return 0 ;
  int [ ] var_3 = new int [ var_0 . length ] ;
  int max = Integer . MIN_VALUE ;
  for ( int var_7 = 0 , var_8 = var_0 . length ;
  var_7 < var_8 ;
  var_7 ++ ) {
    int var_10 = 1 ;
    for ( int var_11 = 0 ;
    var_11 < var_7 ;
    var_11 ++ ) {
      if ( var_0 [ var_7 ] > var_0 [ var_11 ] ) var_10 = Math . max ( var_10 , var_3 [ var_11 ] + 1 ) ;
    }
    var_3 [ var_7 ] = var_10 ;
    max = Math . max ( max , var_3 [ var_7 ] ) ;
  }
  return max ;
}
