二分查找(Binary Search):1道基础题+4道变种题
发布时间
阅读量:
阅读量
- 二分查找的实施基础:有序 数组
- 为使“二分查找”适用于有序链表 —— 引入了跳表 这一数据结构
- 解题思路:采用递归或循环方式
- 编写二分查找程序的关键在于:将搜索区间 始终牢记于心!!
一、一道简单题
- 有序数组
- 无重复元素
- 设有一个包含 n 个元素且按升序排列的整型数组 nums,以及一个目标值 target,编写一个函数用于在 nums 中查找 target。若目标值存在,则返回其对应的索引位置;若不存在,则返回 -1。【寻找一个数
public int search(int[] nums, int target) {
//搜索区间为左闭右闭:[left, right]
int left = 0, right = nums.length - 1;
//当搜索区间为空时,跳出循环
while(left <= right) {
int mid = left + (right - left) / 2;
if(nums[mid] == target) {
全部评论 (0)
还没有任何评论哟~
