算法:5.在排序数组中查找元素的第⼀个和最后⼀个位置

34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)

核心思路:二分查找

本题关键:

1.理解找左端点的二分查找算法

2.理解找右端点的二分查找算法

(请依次看解读内容)

思考一下,如果求右端点的判断指针移动方法不变,使用mid=left+(right-left)/2求右端点也是一样能求出来的。

java 复制代码
public int[] searchRange(int[] nums, int target){
        int[] indexes = new int[]{-1,-1};
        if(nums.length==0) return indexes;

        int left=0,right=nums.length-1;
        //找左端点-->使用int mid=left+(right-left)/2;
        while(left<right){
            int mid = left+(right-left)/2;
            int num = nums[mid];
            if(num<target) left=mid+1;
            else right=mid;
        }
        if(nums[left]==target) {
            indexes[0]=left;
           }else return indexes;
        left=0;
        right=nums.length-1;
        //找右端点-->使用int mid=left+(right-left+1)/2;
        while(left<right){
            int mid = left+(right-left+1)/2;
            int num = nums[mid];
            if(num<=target) left=mid;
            else right=mid-1;
        }
        if(nums[left]==target) indexes[1]=left;
        return indexes;
    }
相关推荐
爱刷碗的苏泓舒2 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
烬羽5 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法
闪电悠米5 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
星空露珠5 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
QXWZ_IA7 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel7 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构
陕西企来客7 小时前
2026年7月技术好GEO优化方案:算法适配与内容策略
人工智能·算法·机器学习·技术好geo优化
风栖柳白杨7 小时前
【面试】AI算法工程师_空白自测版本
人工智能·算法·面试
闪电悠米9 小时前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
栋***t9 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构