题解 | #牛群的位置排序#
牛群的位置排序
https://www.nowcoder.com/practice/87c81fa27b9a45c49ed56650dfa6f51b
知识点:二分查找
思路:常规的二分查找,把数组看成左右部门,每次和中间值对比,因为数组有序的,因此得到的值一定是在左边或者右边,时间复杂度只需要log(n)
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param labels int整型一维数组 * @param target int整型 * @return int整型 */ public static int searchInsert(int[] labels, int target) { int n = labels.length; int left = 0; int right = n - 1; while (left <= right) { int mid = (left + right) / 2; if (target < labels[mid]) { right = mid - 1; } else if (target > labels[mid]) { left = mid + 1; } else { return mid; } } return left; } }