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

广东网站建设哪家专业国际新闻最新消息今天军事新闻

广东网站建设哪家专业,国际新闻最新消息今天军事新闻,移动端高端网站开发,网上买保险有哪些平台目录 一、问题分析 二、二分查找算法原理 三、代码实现 给定一个 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.tj-hxxt.cn/news/111364.html

相关文章:

  • 自己开一个网站要多少钱网络公司seo教程
  • 星月教你做网站回顾文档互联网广告代理加盟
  • 网页设计毕业论文关键字优化设计答案五年级上册
  • wordpress rest Api定制网站优化软件费用
  • 做网站记什么科目浙江seo公司
  • 黑龙江建设网站长沙全网覆盖的网络推广
  • wordpress瀑布流模板福州短视频seo公司
  • 大连百度做网站推广电话独立站seo实操
  • wordpress证书在哪里安装包快速提升排名seo
  • 西数网站助手域名推荐
  • 社交网站开发成本手游免费0加盟代理
  • 网站属于什么公司优化seo搜索
  • 线上新媒体电商怎么开店优化培训方式
  • 政府网站内容建设方案自动的网站设计制作
  • 做试题公务员在哪个网站做app开发费用一览表
  • 湖北网站建设多少钱ciliba磁力搜索引擎
  • 商业网站制作价格关键词你们懂的
  • 郏县住房和城乡建设局网站免费推广软件下载
  • 政府手机网站南京百度竞价推广公司排名
  • wordpress编辑器空格广东seo网站推广代运营
  • 网络程序员关键词优化公司前十排名
  • wordpress en怎样进行seo推广
  • 怎么做html网站淘宝seo是什么
  • 什么内容能提高网站流量百度客服人工服务
  • 仿牌外贸网站建设策划营销
  • 婚纱摄影行业网站win10一键优化工具
  • 贵阳企业网站建设制作百度免费推广登录入口
  • 51个人网站怎么打开台州百度快照优化公司
  • 网站建设尾款收取青岛网站推广公司
  • 网站建设犭金手指B排名15品牌推广的方式有哪些