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

最新域名网站网站如何制作多少钱

最新域名网站,网站如何制作多少钱,锦阳商城网站,深圳施工图制作二分查找#xff08;Java实现#xff09;#xff08;1#xff09; leetcode 34.排序数组中查找元素第一个和最后一个位置 题目描述: 给你一个按照非递减顺序排列的整数数组 nums#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如…二分查找Java实现1 leetcode 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]提示 0 nums.length 1e5-1e9 nums[i] 1e9nums 是一个非递减数组-1e9 target 1e9 解题思路 首先我们根据题意可以将target分为三种情况 情况一、 target不在数组范围内 情况二、target在数组范围内但是数组中没有这个值 情况三、target在数组中 使用二分的条件 数组有序要求的结果单一 该问题符合有序的特征但是条件准确来说有两个即左边界和右边界。 此时我们可以将问题拆分开来看即先求左边界再求右边界。 对于左边界我们是为了求数组中不小于target的值的最小位置。对于右边界我们是为了求数组中不大于target的值的最大位置。 我们可以将这两个问题每一个单独看作要求的结果符合二分使用条件 分开来求。 我们使用全闭区间对于左边界而言我们当 arr[mid] target的时候r mid - 1。这样最终求得的结果就是符合条件的位置 - 1. 同理对于有边界而言是符合条件的位置 1 。 因此 if(r - l 1) return new int[]{l 1, r - 1};返回的便是最终结果。其余两种情况分别为无解。 代码 class Solution {public int[] searchRange(int[] nums, int target) {int n nums.length;int l get_left(nums, target, n);int r get_right(nums, target, n);if(l -2 || r -2) return new int[]{-1, -1};if(r - l 1) return new int[]{l 1, r - 1};return new int[]{-1, -1};}public static int get_right(int nums[], int target, int n) {int l 0, r n - 1;int idx -2;while( l r) {int mid (l r) / 2;if(nums[mid] target) {l mid 1;idx l;} else {r mid - 1;}}return idx;}public static int get_left(int nums[], int target, int n) {int l 0, r n - 1;int idx -2;while(l r) {int mid (l r) / 2;if(nums[mid] target) {r mid - 1;idx r;}else l mid 1;}return idx;}}704、二分查找 题目描述 704. 二分查找 已解答 简单 相关标签 相关企业 给定一个 n 个元素有序的升序整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target如果目标值存在返回下标否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4示例 2: 输入: nums [-1,0,3,5,9,12], target 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1提示 你可以假设 nums 中的所有元素是不重复的。n 将在 [1, 10000]之间。nums 的每个元素都将在 [-9999, 9999]之间。 题解 本题可以使用二分同时我们使用全开区间进行求解 对于nums[mid] target的r mid - 1。 对于nums[mid] target的l mid 1; 相同返回结果。 然后我们需要考虑到会有数组过于小导致没有进循环的情况返回结果使用一个三目运算符判断就是最终结果了。 代码 class Solution {public int search(int[] nums, int target) {int l 0; int r nums.length - 1;while( l r) {int mid (l r) / 2;if(nums[mid] target) r mid - 1;else if(nums[mid] target) l mid 1;else return mid;}return nums[l] target ? l : -1;} }
http://www.hkea.cn/news/14298195/

相关文章:

  • 凡科建设网站步骤宁波网站建设信息推荐
  • 灰色网站网站网站开发者招聘
  • 网站dns如何修改不了网流感吃什么药效果最好
  • php做网站答辩问题找网页模板的网站
  • 电商网站商品页的优化目标是什么?域名虚拟服务器做网站
  • 应用软件商店下载win优化大师
  • 网站建设维护宣传纵横天下营销型网站建设
  • 网站开发需要多少钱方案杭州动漫设计公司有哪些
  • 湖南网站排名优化公司郴州建设网站哪家好
  • 高端个人网站Wordpress网站收录不高
  • 网站广告模板代码车公庙网站建设
  • 手机网站 生成效果图网站都有哪些?
  • 网站主题模板将网站做成logo怎么做
  • 东营市建设项目工伤保险是哪个网站wordpress是什么框架
  • 网站做的比较好的贸易公司关于公司做网站供比价报告
  • 开封府景点网站及移动端建设情况营销网站建设 公司
  • 正规网站建设公司哪家好wordpress整体搬家
  • 2015做啥网站致富手机网站模板 php
  • 保亭交通工程建设局网站营销型网站翻译
  • 旅游网站设计思路及设计过程网站导航设计分析
  • 做网站需要哪些技术人才手机全屋定制设计app
  • 低价机票网站建设最好的推广平台是什么软件
  • 网页建设网站代码wordpress 韩国 主题公园
  • 8网站建设做网站如何提升做网站的效率
  • 外贸网站 seo应用下载安装
  • 贸易网站有哪些吉林网络公司
  • 自己做网站吗为什么做pc网站
  • 网站制作公司 北京中建招聘官网入口
  • 有做网站设计吗WordPress添加2233娘
  • 哪些网站做宾馆推广好网页游戏排行榜前十名知乎