题解 | #牛群编号搜索#
牛群编号搜索
https://www.nowcoder.com/practice/6971befcfd5e4d6dbc5d69e73341726b?tpId=363&tqId=10606758&ru=/exam/oj&qru=/ta/super-company23Year/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D363
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @param target int整型
* @return int整型
*/
public int search (int[] nums, int target) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int mid = (left + right) >> 1;
if (nums[mid] > target) {
right = mid - 1;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
return mid;
}
}
return -1;
}
}
本题知识点分析:
1.二分查找
本题解题思路分析:
1.经典二分查找,可以左闭右开,也可以左闭右闭,注意区别 right = mid,循环不变量,建议看《代码随想录》
