判断永恒不变 array[m] ? target
第一个返回L(L的含义:<=target的数有多少个),操作R R=mid -1
第一个等于 array[m] >= target 操作R 【返回L,判断合法性】L > 0 && L < array.length && array[L] == target
第一个大于等于 array[m] >= target 整个数组都比target要小,就会返回array.length
的大小;
第一个大于 array[m] > target
最后一个返回R(R的含义:>=target的数有多少个),操作L L=mid+1
最后一个等于 array[m] <=target 【返回R,判断合法性】R >= 0 && array[R] == target
最后一个小于等于 array[m] <= target
最后一个小于 array[m] < target