<awangdev>Longest Increasing Subsequence_2.java
public int binarySearch(List<Integer> list, int target) {
        int start = 0;
        int end = list.size() - 1;
        while (start + 1 < end) {
            int mid = start + (end - start) / 2;
            if (list.get(mid) == target) {
                return mid;
            } else if (list.get(mid) < target) {
                start = mid;
            } else {
                end = mid;
            }
        }
        return list.get(start) >= target ? start : end;
    }
public int sample_funcname ( List < Integer > var_2 , int var_3 ) {
  int var_5 = 0 ;
  int var_8 = var_2 . size ( ) - 1 ;
  while ( var_5 + 1 < var_8 ) {
    int var_10 = var_5 + ( var_8 - var_5 ) / 2 ;
    if ( var_2 . get ( var_10 ) == var_3 ) {
      return var_10 ;
    }
    else if ( var_2 . get ( var_10 ) < var_3 ) {
      var_5 = var_10 ;
    }
    else {
      var_8 = var_10 ;
    }
  }
  return var_2 . get ( var_5 ) >= var_3 ? var_5 : var_8 ;
}
