private int getFirstKIndex(int[] array, int start, int end, int k) {
int mid;
// 一定要等有=!!!!!!
while (start <= end) {
mid = (start + end) / 2;
if (k == array[mid]) {
if (mid == start || array[mid - 1] != k) {
return mid;
} else {
end = mid - 1;
}
} else if (k < array[mid]) {
end = mid - 1;
} else {
start = mid + 1;
}
}
return start-1;