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

福田网站建设公司哪家性价比高宁波seo推广哪家好

福田网站建设公司哪家性价比高,宁波seo推广哪家好,做贺卡网站,晋城建设工程信息网站目录 一、问题分析 二、二分查找算法原理 三、代码实现 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,我们要写一个函数来搜索 nums 中的 target,如果目标值存在就返回它的下标,否则返回 -1。 …

目录

一、问题分析

二、二分查找算法原理

三、代码实现


给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,我们要写一个函数来搜索 nums 中的 target,如果目标值存在就返回它的下标,否则返回 -1。

一、问题分析

既然数组是有序的,那么我们自然而然地会想到一种高效的查找算法 —— 二分查找(Binary Search)。二分查找的基本思想是将查找区间不断缩小一半,直到找到目标元素或者确定目标元素不存在为止。

二、二分查找算法原理

  1. 首先,我们确定查找区间的左右边界。初始时,左边界 left 为 0,右边界 right 为数组的长度 n - 1
  2. 然后,在每一轮查找中,我们计算中间元素的下标 mid,计算公式为 mid = left + (right - left) // 2。这里使用 left + (right - left) // 2 而不是简单的 (left + right) // 2 是为了避免在 left 和 right 很大时出现整数溢出的情况。
  3. 接下来,我们比较中间元素 nums[mid] 和目标值 target
    • 如果 nums[mid] == target,那么我们就找到了目标值,直接返回 mid 即可。
    • 如果 nums[mid] < target,这说明目标值在中间元素的右侧,我们就将左边界 left 更新为 mid + 1,继续在右侧区间进行查找。
    • 如果 nums[mid] > target,这说明目标值在中间元素的左侧,我们就将右边界 right 更新为 mid - 1,继续在左侧区间进行查找。
  4. 不断重复上述步骤,直到左边界 left 大于右边界 right,这时候就说明目标值不存在于数组中,我们返回 -1。

三、代码实现

class Solution {public int search(int[] nums, int target) {int left = 0;int right = nums.length-1;while(left<=right){int mid = (left+right)/2;if(nums[mid]==target){//相等 找到啦return mid;}else if(nums[mid]<target){left = mid+1;}else{//目标值小right = mid-1;}}//没找到return -1;}
}

http://www.hkea.cn/news/809280/

相关文章:

  • 网站地图的重要性短信广告投放软件
  • 搭建直播网站需要怎么做教育培训机构平台
  • 濮阳网站网站建设网络营销策划是什么
  • 做新闻网站需要什么手续河北软文搜索引擎推广公司
  • 广州网站建设联系电话seo推广的公司
  • 一起做网店一样的网站关键词歌曲免费听
  • 负责网站建设推广本周热点新闻事件
  • 快速做网站优化谷歌在线浏览入口
  • 苏州企业网站建设开发与制作2023年6月份又封城了
  • 用java做网站可以吗吉林seo刷关键词排名优化
  • 网站建设面试google广告投放技巧
  • 整形网站整站源码如何让关键词排名靠前
  • php网站后台搭建外贸网站大全
  • 建 新闻 网站营销战略有哪些内容
  • 营销融合app网站seo招聘
  • 快速做网站的方法网站换了域名怎么查
  • 建筑工程网络计划图怎么编制百度seo搜索排名
  • 免费建网站系统百度云登陆首页
  • wordpress 采集微博网站建设优化
  • 做淘宝客新增网站推广百度用户服务中心人工电话
  • 域名备案网站建设书模板百度统计登录
  • 禁止WordPress访问官网优化关键词排名提升
  • 爬取漫画数据做网站今日热搜新闻头条
  • 雄安网站建设制作网站关键词如何快速上首页
  • 佛山从事网站建设百度小程序入口官网
  • 自建网站平台可以实现哪些功能网络营销这个专业怎么样
  • 佛山新网站制作公司网页制作成品模板网站
  • 校园网站建设的意见企业管理培训课程网课
  • 郑大远程教育动态网站建设seo优化关键词排名
  • 做logo什么网站昆明百度关键词优化