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

海尔集团网站建设服装网站建设开发语言

海尔集团网站建设,服装网站建设开发语言,最好的网站建设组织,俄罗斯军事最新消息目录 前言算法解析练习题二分查找在排序数组中查找元素的第一个和最后一个位置搜索旋转排序数组 前言 本篇章开放目的是按算法类型学习算法#xff0c;学习对应算法理论#xff0c;并通过练习一些经典算法题深入理解这类算法#xff0c;避免出现刷了很多算法题#xff0c;… 目录 前言算法解析练习题二分查找在排序数组中查找元素的第一个和最后一个位置搜索旋转排序数组 前言 本篇章开放目的是按算法类型学习算法学习对应算法理论并通过练习一些经典算法题深入理解这类算法避免出现刷了很多算法题还是一知半解的状态 算法解析 二分查找Binary Search是一种在有序数组中查找特定元素的高效算法。二分查找的基本思想是通过重复将待搜索的数据范围分成两半并排除无关的一半来缩小搜索的范围直到找到目标值或确定目标值不存在为止。 二分查找的步骤如下 确定搜索范围 初始时搜索范围是整个数组。 计算中点 在当前的搜索范围内计算中间位置的索引。通常的计算方法是 (low high) / 2其中 low 是搜索范围的开始索引high 是结束索引。为了避免在索引非常大时导致整数溢出推荐的做法是 low (high - low) / 2。 比较中点值与目标值 将中点位置的数组值与目标值进行比较 如果中点值等于目标值则查找成功返回中点索引如果中点值小于目标值则目标值应在中点的右侧将搜索范围调整为中点右侧的子数组如果中点值大于目标值则目标值应在中点的左侧将搜索范围调整为中点左侧的子数组。 重复查找 根据比较结果调整搜索范围并在新的范围内重复步骤2和步骤3直到找到目标值或搜索范围为空即 low 超过 high表明目标值不存在。 二分查找的时间复杂度为 O(log n)其中 n 是数组的长度。这使得二分查找比简单的线性查找O(n)要快得多尤其是在处理大数据集时。然而二分查找的前提是数组已经是有序的。如果数组无序需要先对数组进行排序排序本身的时间成本可能会影响到整体的效率。 二分查找同时有递归和非递归迭代两种实现方式具体选择哪一种取决于个人偏好和特定场景的需求。 练习题 二分查找 给定一个 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]之间。 复杂度分析 时间复杂度O(log⁡n)其中 n 是数组的长度。 空间复杂度O(1)。 官方题解 在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 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 105 -109 nums[i] 109 nums 是一个非递减数组 -109 target 109 官方题解 搜索旋转排序数组 整数数组 nums 按升序排列数组中的值 互不相同 。 在传递给函数之前nums 在预先未知的某个下标 k0 k nums.length上进行了 旋转使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]]下标 从 0 开始 计数。例如 [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2]。 给你 旋转后 的数组 nums 和一个整数 target 如果 nums 中存在这个目标值 target 则返回它的下标否则返回 -1 。 你必须设计一个时间复杂度为 O(log n) 的算法解决此问题。 示例 1 输入nums [4,5,6,7,0,1,2], target 0 输出4 示例 2 输入nums [4,5,6,7,0,1,2], target 3 输出-1 示例 3 输入nums [1], target 0 输出-1 提示 1 nums.length 5000 -104 nums[i] 104 nums 中的每个值都 独一无二 题目数据保证 nums 在预先未知的某个下标上进行了旋转 -104 target 104 官方题解
http://www.pierceye.com/news/508190/

相关文章:

  • 山东网站建设网站我国网站开发
  • 常见的网站类型有北京电力建设公司待遇
  • 网站分析流程wordpress表单统计插件下载
  • 南宁网站建设公司seo优化武鸣住房和城乡规划建设局网站
  • 在线制作网站门户站模板
  • 邵阳网站建设推广56m做图片视频的网站是什么
  • 如何提高网站的点击率域名空间网站推广
  • 上海松江做网站建设wordpress 拒绝连接
  • 有免费的个人网站吗富德生命人寿保险公司官方网站保单服务
  • 网站备案 子域名网页视频制作软件
  • 空间 网站网站建设哪个好
  • 公司网站域名价格云南免费网站建设
  • 网站跳转域名不变常见网站架构
  • 山东省建设厅电工证查询网站网站标题的选择
  • 网站建设是属于软件吗电话销售哪里找客户电话
  • 用vue做网站的实例网站制作郑州
  • 五个网站想自己在家做外贸网站
  • 收费的电影网站怎么做网页设计图片的应用
  • 班级网站建设步骤橘子皮主题wordpress
  • 网站模板源文件网站制作需求文档
  • 青岛注册公司网站建网站需要那些步骤
  • 深圳做网上商城网站小蘑菇网站建设软件
  • 广州住建网站网站空间购买价格
  • 金华永康网站建设公司做网站的优点
  • 有免费的微网站制作吗瑞安哪里有培训做网站的
  • 苏州住房和城乡建设局网站wordpress中文书
  • 盐城市滨海县建设局网站wordpress 4.8.1 漏洞
  • 荆州市城市建设投资开发有限公司网站百度人工服务24小时
  • 永久域名购买昆明网站建设优化企业
  • 自适应网站模板下载网页设计培训哪好