(查找)01-二分查找-a

 1 import java.util.*;
 2 
 3 public class Solution {
 4     /**
 5      * @param nums int整型一维数组 
 6      * @param target int整型 
 7      * @return int整型
 8      */
 9     public int search (int[] nums, int target) {
10         // 从左开始遍历的指针
11         int l = 0;
12         // 从右开始遍历的指针
13         int r = nums.length - 1;
14         // 左右指针开始遍历
15         while(l <= r){
16             // 获取中间位置的索引值
17             int m = (l + r) / 2;
18             // 判断中间位置的值
19             if(nums[m] == target) {
20                 return m;
21             }
22             if(nums[m] > target) {
23                 // 进入左区间
24                 r = m - 1;
25             } else {
26                 // 进入右区间
27                 l = m + 1;
28             }
29         }
30         // 未找到
31         return -1;
32     }
33 }

 

posted @ 2023-11-27 22:23  StringBuilder  阅读(3)  评论(0编辑  收藏  举报