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};
        }
    }
}
相关推荐
2401_872418786 小时前
算法入门:数据结构-堆
数据结构·算法
笑尘~Y8 小时前
每日技术面试高频题精选
面试
拼尽全力前进8 小时前
Guava Cache vs Caffeine 面试详解
面试·职场和发展·guava
啦哈拉哈9 小时前
Leetcode题解记录-hot100(81-100)
算法·leetcode·职场和发展
kyriewen9 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试
我叫黑大帅10 小时前
解决聊天页内部滚轮改为页面滚动问题
javascript·后端·面试
不会就选b10 小时前
数据结构之顺序表和链表的OJ题(上)
数据结构·链表
Yeyu12 小时前
Android 渲染流水线全解析:从 Choreographer 到 SurfaceFlinger
面试
啦啦啦啦啦zzzz13 小时前
数据结构:二叉树的线索化
数据结构·算法
Java编程爱好者14 小时前
OpenEvent:事件驱动、日志先行的Agent框架
面试