public static int searchLast(int[] data, int value){
		if(data==null||data.length<=0){
			return -1;
		}
		int low=0;
		int high=data.length-1;
		int middle=-1;
		while(low<=high){
			middle=(low+high)>>1;
			if(data[middle]==value){
				if(middle==data.length-1 || data[middle+1]!=value){
					return middle;
				}else{
					low=middle+1;
				}
			}else if(data[middle]<value){
				low=middle+1;
			}else{
				high=middle-1;
			}
		}
		
		return -1;
	}