看电视剧的免费网站大全,百度信息流开户多少钱,宁波正规网络推广多少钱,h5网站建设 网站定制开发二分查找 给定一个 n 个元素有序的#xff08;升序#xff09;整型数组 nums 和一个目标值 target #xff0c;写一个函数搜索 nums 中的 target#xff0c;如果目标值存在返回下标#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释… 二分查找 给定一个 n 个元素有序的升序整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target如果目标值存在返回下标否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 示例 2: 输入: nums [-1,0,3,5,9,12], target 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1 思路 把目标值每次和中间值去比较一开始left0,rightnums.length-1如果目标值大于中间值那么leftmid1,如果小于rightmid-1,每次将查找范围缩小一半循环直到找到否则返回-1
class Solution {public int search(int[] nums, int target) {int left0;int rightnums.length-1;while(leftright){int mid (leftright)/2;if(nums[mid]target){return mid;}else if(nums[mid]target){leftmid1;}else {rightmid-1;}}return -1;}}