当前位置: 首页 > article >正文

力扣labuladong——一刷day09

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣704. 二分查找
  • 二、力扣34. 在排序数组中查找元素的第一个和最后一个位置


前言


一、力扣704. 二分查找

class Solution {
    public int search(int[] nums, int target) {
        int left = 0, right = nums.length-1;
        while(left <= right){
            int mid = left + (right-left)/2;
            if(nums[mid] == target){
                return mid;
            }else if(nums[mid] > target){
                right = mid - 1;
            }else{
                left = mid + 1;
            }
        }
        return -1;
    }
}

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

class Solution {
    public int[] searchRange(int[] nums, int target) {
        int[] res = new int[2];
        int left = 0, right = nums.length -1, mid;
        while(left <= right){
            mid = left + (right-left)/2;
            if(nums[mid] == target){
                right = mid - 1;
            }else if(nums[mid] > target){
                right = mid -1;
            }else{
                left = mid + 1;
            }
        }
        if(left >= nums.length){
            res[0] = -1;
        }else{
            res[0] = nums[left] == target ? left : -1;
        }

        left = 0; right = nums.length - 1;
        while(left <= right){
            mid = left + (right-left)/2;
            if(nums[mid] == target){
                left = mid + 1;
            }else if(nums[mid] < target){
                left = mid + 1;
            }else{
                right = mid - 1;
            }
        }
        if(right < 0){
            res[1] = -1;
        }else{
            res[1] = nums[right] == target ? right : -1;
        }
        return res;
    }
}

http://www.kler.cn/a/106916.html

相关文章:

  • Flutter 小技巧之 OverlayPortal 实现自限性和可共享的页面图层
  • 使用Element UI实现前端分页,及el-table表格跨页选择数据,切换分页保留分页数据,限制多选数量
  • C++STL容器——map和set
  • 在JPA和EJB中用乐观锁解决并发问题
  • STM32问题集
  • SystemVerilog学习笔记(六):控制流
  • 通过阿里云创建accessKeyId和accessKeySecret
  • 线程池的理解
  • 字符串与基本类型之间的相互转换
  • vue2组件库-上传组件
  • 框架安全-CVE 复现SpringStrutsLaravelThinkPHP漏洞复现
  • Peter算法小课堂—归并排序
  • 【Linux】安装与配置虚拟机及虚拟机服务器坏境配置与连接
  • LibreOffice编辑excel文档如何在单元格中输入手动换行符
  • 如何中断一个正在运行的线程?
  • Java关于实例对象调用静态变量和静态方法问题
  • ue5 右击.uproject generator vs project file 错误
  • VM虚拟机的安装与配置及操作系统的安装
  • [RISC-V]verilog
  • DeepSpeed: 大模型训练框架 | 京东云技术团队
  • 【DOCKER】
  • 一个简单的注册页面,如有错误请指正(2.css)
  • “穷”用英语怎么说?柯桥成人英语培训
  • 数据结构与算法之排序: 归并排序 (Javascript版)
  • Jenkins入门级安装部署
  • 轻量封装WebGPU渲染系统示例<1>-彩色三角形(源码)