704、二分查找

本文介绍了LeetCode第704题——二分查找的解决方案。通过示例代码详细展示了如何实现一个标准的二分查找函数,该函数在有序整数数组中搜索目标值并返回其索引,若目标值不存在则返回-1。文章总结了二分查找的基本步骤,即设定左右边界,比较目标值与中间值并调整边界,直至找到目标值或搜索范围为空。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

力扣 704 二分查找


题目

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/binary-search


示例

在这里插入图片描述

代码

public int Search(int[] nums, int target)
        {
            int low = 0, high = nums.Length - 1;
            while (low <= high)
            {
                int mid = (high + low) / 2;
                if (target < nums[mid])
                {
                    high = mid - 1;
                }
                else if (target > nums[mid])
                {
                    low = mid + 1;
                }
                else if (target == nums[mid])
                {
                    return mid;
                }
            }
            return -1;
        }

总结

显而易见,只是一个常规的二分查找的应用,没有任何变动,直接用就行。
左边 low,
右边 high,
中间 mid;
target和索引为mid的数比较,变动low和high的值。
找到了就返回mid,没找到就在最后返回-1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值