day87(2.16)——leetcode面试经典150

34. 在排序数组中查找元素的第一个和最后一个位置

34. 在排序数组中查找元素的第一个和最后一个位置

题目:

题解:

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

        //计算左边界
        int l = 0;
        int r = nums.length;
        while(l<r) {
            int mid = (l+r)/2;
            if(nums[mid]<target) {
                l=mid+1;
            }
            else {
                r=mid;
            }
        }
        res[0]=l;

        //计算右边界
        l = 0;
        r = nums.length;
        while(l<r) {
            int mid = (l+r)/2;
            if(nums[mid]<target+1) {
                l=mid+1;
            }
            else {
                r=mid;
            }
        }
        res[1]=l-1;

        if(res[0]<nums.length && nums[res[0]]==target) {
            return res;
        }
        else {
            return new int[]{-1,-1};
        }
    }
}
相关推荐
自我意识的多元宇宙19 小时前
二叉树的遍历和线索二叉树--二叉树的遍历
数据结构
qq_50242899019 小时前
清华大学与微软亚洲研究院出品:Kronos 本地部署教程
数据结构·python·金融量化·kronos开源模型
网域小星球20 小时前
C++ 从 0 入门(六)|C++ 面试必知:运算符重载、异常处理、动态内存进阶(终极补充)
开发语言·c++·面试
2601_9498179221 小时前
大厂Java进阶面试解析笔记文档
java·笔记·面试
C雨后彩虹21 小时前
最多等和不相交连续子序列
java·数据结构·算法·华为·面试
一江寒逸1 天前
零基础从入门到精通 AI Agent 开发(全栈保姆级教程)附加篇:AI Agent 面试八股文全集
人工智能·面试·职场和发展
爱敲代码的小黄1 天前
我重新梳理了一遍 RAG,终于明白它不只是接个向量库
后端·面试·agent
久菜盒子工作室1 天前
面试经验|产品经理|自我介绍
面试·职场和发展·产品经理
cpp_25011 天前
P2347 [NOIP 1996 提高组] 砝码称重
数据结构·c++·算法·题解·洛谷·noip·背包dp
Ruihong1 天前
Vue v-bind 转 React:VuReact 怎么处理?
vue.js·react.js·面试