<awangdev>Last Position of Target_1.java
public int lastPosition(int[] A, int target) {
    	if (A == null || A.length == 0) {
    		return -1;
    	}
    	int start = 0;
    	int end = A.length - 1;
    	int mid;

    	while(start + 1 < end) {
    		mid = start + (end - start)/2;
    		if (A[mid] == target) {
    			if (mid + 1 < A.length && A[mid + 1] == target) {
    				start = mid;
    			} else {
    				return mid;
    			}
    		} else if (A[mid] < target) {
    			start = mid;
    		} else {
    			end = mid;
    		}
    	}
    	
    	if (A[end] == target) {
    		return end;
    	} else if (A[start] == target) {
    		return start;
    	}
    	
    	return -1;
    }
public int sample_funcname ( int [ ] var_0 , int var_1 ) {
  if ( var_0 == null || var_0 . length == 0 ) {
    return - 1 ;
  }
  int var_6 = 0 ;
  int var_7 = var_0 . length - 1 ;
  int var_8 ;
  while ( var_6 + 1 < var_7 ) {
    var_8 = var_6 + ( var_7 - var_6 ) / 2 ;
    if ( var_0 [ var_8 ] == var_1 ) {
      if ( var_8 + 1 < var_0 . length && var_0 [ var_8 + 1 ] == var_1 ) {
        var_6 = var_8 ;
      }
      else {
        return var_8 ;
      }
    }
    else if ( var_0 [ var_8 ] < var_1 ) {
      var_6 = var_8 ;
    }
    else {
      var_7 = var_8 ;
    }
  }
  if ( var_0 [ var_7 ] == var_1 ) {
    return var_7 ;
  }
  else if ( var_0 [ var_6 ] == var_1 ) {
    return var_6 ;
  }
  return - 1 ;
}
