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

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

题目:

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]

你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

思路:

简单的二分查找可以做到,这里锻炼一下双指针;

只要注意结束条件就可以了

代码:

 public int[] searchRange(int[] nums, int target) {int[] res = new int[2];for (int i = 0; i <= 1; i++) {res[i] = -1;}int i = 0;int j = nums.length - 1;while (i <= j && i <= nums.length - 1 && j >=0) {if (nums[i] == target) {res[0] = i;} else {i++;}if (nums[j] == target) {res[1] = j;} else {j--;}if (res[0] !=-1 && res[1] !=-1) {break;}}return res;}

相关文章:

  • 力扣刷题——长度最小的子数组
  • 在 Qt 开发中,.toLocal8Bit().constData() 和 .toUtf8()有什么区别
  • 【React源码解析】初识JSX
  • You Only Look Once Unified, Real-Time Object Detection论文笔记
  • django ReturnDict 如何修改内容
  • C++(从C到C++)
  • Java系统开发:前端与后端的协同开发实践
  • 老项目重构难题破解:飞算 JavaAI 如何实现技术升级突围
  • 数字ic后端设计从入门到精通7(含fusion compiler, tcl教学)sta时序分析
  • Java基础学习-多线程
  • python+uniapp基于微信小程序健康管理系统
  • 数字电路研究的是直流信号还是交流信号
  • BUU reverse (随机做题)
  • Postman中变量的使用
  • idea中配置svn及提交提示“未检测到更改”提示
  • uni-app插件,高德地图、地图区域绘制、定位打卡
  • 海报在线制作系统小程序ThinkPHP+UniApp
  • [论文阅读] 人工智能 + 软件工程 | 用大语言模型架起软件需求形式化的桥梁
  • 无人机数据处理系统设计与难点
  • Uniapp条件编译完全指南:跨平台开发的核心技术
  • 自己做新闻网站/排名优化系统
  • 天汇大厦网站建设公司/免费seo搜索优化
  • 能免费用服务器的网站/友链交换网站
  • 化妆品商城网站方案/海外推广
  • 金湖县建设工程质量监督网站/市场营销培训
  • lamp 网站建设论文/制作自己的网页