Leetcode刷题:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target , 写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

分析

看到这题第一想到的就是二分查找。不用说了直接上代码

代码

public class dome {

	public static int result(int[] nums, int target) {
		
		//设定区间索引
		int left = 0;
		int right = nums.length -1;
		while (left<=right) {
			int mid = left + (right - left) / 2;//防止溢满
			if (nums[mid] == target) {
				return mid;//找到直接返回索引
			}else if (nums[mid] > target) {
				right = mid - 1;//缩小查找范围
			}else if (nums[mid] < target) {
				left =mid + 1;//缩小查找范围
			}
		}
		return -1;//找不到返回-1
	}

 

猜你喜欢

转载自blog.csdn.net/weixin_51012090/article/details/120384157