704. 二分查找 (力扣)

给定一个 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

提示:

  1. 你可以假设 nums 中的所有元素是不重复的。
  2. n 将在 [1, 10000]之间。
  3. nums 的每个元素都将在 [-9999, 9999]之间。

代码部分:

复制代码
int search(int* nums, int numsSize, int target) {
    
    int left = 0 , right = numsSize;  
    int mid;

    while(left < right){     // 左闭右开,二分模板
        mid = left + (right - left) / 2;
        if(nums[mid] == target){
            return mid;
        }
        else if(nums[mid] > target){
            right = mid; 
        }
        else{
            left = mid + 1;
        }
    }
    return -1;
}

// 有兴趣者私信找我拿模板
相关推荐
Nil20814 分钟前
leetcode 136只出现一次的数字
leetcode·哈希算法·散列表
CV@CV19 分钟前
世界模型与智能体协同推理逻辑
人工智能·算法·边缘计算·量子计算·具身智能
jiayoushijie-泽宣22 分钟前
SHIFT-PathFormer:专家轨迹蒸馏、连续安全优化与超大迷宫实验
算法
slandarer1 小时前
MATLAB | 趣味编程——动态字符串甜甜圈和爱心
数据结构·matlab·趣味编程
UIU1141 小时前
P1003 [NOIP 2011 提高组] 铺地毯
数据结构·c++·算法
爱读书的小胖1 小时前
LeetCode 88. 合并两个有序数组 C 解题分析
c语言·数据结构·算法
inrichtt2 小时前
第七课时:STM32时钟系统揭秘:从零理解时钟树
c语言·数据结构·stm32·单片机·嵌入式硬件
垆边人似月.3 小时前
删边使每个连通块权值和为 target
算法·深度优先·图论
xxwl5853 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法