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};
        }
    }
}
相关推荐
文丑颜不良啊1 小时前
LeetCode2021~2040题目解析
java·leetcode
Yuzhiyuxia2 小时前
【AI Agent面试系列】上下文管理1
人工智能·面试·职场和发展
GrowingIO技术社区3 小时前
CDP、行为分析、归因与营销自动化有什么区别?
数据结构·数据挖掘·数据分析
GrowingIO技术社区4 小时前
实时标签怎样验收?从数据更新到分群可用
数据结构·数据挖掘·数据分析
CoderYanger4 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)
java·数据库·spring·面试·职场和发展·java-ee·mybatis
Rain的Java大神之路5 小时前
公交App上“还有2站,约5分钟”怎么实现?90%的人答错这道大厂面试题:GPS漂移、ETA不准、10万QPS热点读全拆透(附完整代码)
java·后端·面试
利威尔xu6 小时前
2026-11-05-Go内存管理面试
面试·golang
Nuanyt19 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
aZhe的全栈知识分享19 小时前
AI 还原 Figma 效果总达不到预期?先别急着让它写代码
前端·后端·面试