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

新郑龙湖网站建设小叮当网站建设

新郑龙湖网站建设,小叮当网站建设,小程序平台登录,qq在线网站代码34.给你一个按照非递减顺序排列的整数数组 nums#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1#xff1… 34.给你一个按照非递减顺序排列的整数数组 nums和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1 输入nums [5,7,7,8,8,10], target 8 输出[3,4] 示例 2 输入nums [5,7,7,8,8,10], target 6 输出[-1,-1] 示例 3 输入nums [], target 0 输出[-1,-1] 非递减数组求区间很容易想到的是两次二分查找找到左右边界。由于左右边界的找法几乎相同所以把题目转换一下只要找到 target 的右边界我们就知道了结束位置为右边界 - 1而开始位置我们只要知道 target - 1 的右边界即可因为是整数数组所以只要 target 在数组中存在那么刚刚大于 target - 1也就是右边界 的肯定是 target。这样的话我们只需要把二分查找右边界写成方法最终返回大致为 [solve(target-1),solve(target)-1] 即可。剩下的就是分析区间不存在的情况。首先数组没数肯定就直接返回了其次如果我能找到区间。那么可以肯定的是nums[开始位置] 一定是等于 target 的不是的话肯定也返回了。还有就是如果所有数都比 target 小那么起始位置会找到数组外面去所以二分查找返回的数组下标也应当合法。 public int[] searchRange(int[] nums, int target) {if(nums.length 0){return new int[]{-1,-1};}int first solve(nums,target-1);// 需要先判断 first 是否合法否则 nums[first] 可能直接数组越界了if(first nums.length || nums[first] ! target){return new int[]{-1,-1};}return new int[]{first,solve(nums,target)-1};}public int solve(int[] nums,int target){int left0,rightnums.length-1;while(leftright left 0 right nums.length-1){int mid (leftright)/2;// 这里用小于等于那么左边界就会不断右移直到找到大于 target 的第一个数// 所以这里的 left 最后就是 target 的右边界如果用小于就是左边界了if(nums[mid]target)leftmid1;else rightmid-1;}return left;}
http://www.pierceye.com/news/401906/

相关文章:

  • 甘肃省嘉峪关建设局网站做游戏交易网站
  • 校园网站做自己的广告惠州网络问政平台官网
  • 网站建设使用的什么和国外做贸易用什么网站
  • 苏州自助建站模板宁波seo快速优化
  • 做网站的可行性分析网络推广渠道公司
  • 企业网站优化兴田德润优惠汕头网络营销推广该怎么做
  • 安徽省住房和建设厅网站企业网站建设硬件
  • 网站怎样运营网站文章收录
  • 怎么制作微网站wordpress 自动安装
  • 建设软件网站七台河新闻直播
  • 深圳 公司网站设计网站建设得花多少钱
  • 社交型网站首页面设计分析宁夏电建网站
  • 网站开发需要掌握的知识中国建设网官方网站
  • 制作网站素材网页设计代码步骤
  • 做微信头图的网站网页编程语言有哪几种
  • 医生工作室网站建设男女激烈做羞羞事网站网站韩剧
  • 网站里面网友点评怎么做网站开发需要资质吗
  • gta 买房网站建设中软件下载免费大全网站
  • 中国移动网站专门拍短视频的公司
  • 网站制作网站建设报价南通优化网站怎么收费
  • 网站的连接二维码怎么做wordpress.org账号
  • 优秀的网站有哪些内容wordpress重新安装删除哪个文件
  • 网站建设与发布需要什么手机端开发app
  • 无锡做网站无锡网站设计2345网址导航手机上网导航下载
  • html中文美食网站营销型网站维护费用
  • 电商网站建设课设用什么软件制作网站
  • 杭州手机网站wordpress随机调用页面
  • html5网站编写长网页网站
  • 订餐网站系统建设方案建一个网上商城需要多少钱
  • 手机网站asp付费抽奖网站怎么做