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

网站内容不显示不出来深圳百度竞价托管公司

网站内容不显示不出来,深圳百度竞价托管公司,有什么网站做打印店,高端网站建设的品牌数组中数值和下标相等的元素 假设一个单调递增的数组里的每个元素都是整数并且是唯一的。 请编程实现一个函数找出数组中任意一个数值等于其下标的元素。 例如,在数组 [ − 3 , − 1 , 1 , 3 , 5 ] [−3,−1,1,3,5] [−3,−1,1,3,5] 中,数字 3 和它的…

数组中数值和下标相等的元素


假设一个单调递增的数组里的每个元素都是整数并且是唯一的。

请编程实现一个函数找出数组中任意一个数值等于其下标的元素。

例如,在数组 [ − 3 , − 1 , 1 , 3 , 5 ] [−3,−1,1,3,5] [3,1,1,3,5] 中,数字 3 和它的下标相等。

数据范围

数组长度 [ 1 , 100 ] [1,100] [1,100]

样例
输入:[-3, -1, 1, 3, 5]输出:3

注意:如果不存在,则返回-1。


算法思路
  1. 初始化指针:左指针 l 初始化为 0,右指针 r 初始化为数组长度。
  2. 二分查找
    • 计算中间位置 mid
    • 检查 nums[mid] 是否大于或等于 mid
      • 如果是,说明目标元素在左半部分或当前位置,调整右指针 r = mid
      • 否则,目标元素在右半部分,调整左指针 l = mid + 1
  3. 验证结果:循环结束后检查 nums[l] 是否等于 l,如果是则返回 l,否则返回 -1。
  • 时间复杂度:O(log n),其中 n 是数组的长度。因为算法使用了二分查找,每次都将搜索范围减半。
  • 空间复杂度:O(1),只使用了常数级别的额外空间。

class Solution {
public:int getNumberSameAsIndex(vector<int>& nums) {int l = 0, r = nums.size();while(l < r){int mid = l + r >> 1;if(nums[mid] >= mid) r = mid;else l = mid + 1;}if(nums[l] == l) return l; else return -1;}
};
注意事项
  1. 边界条件:循环结束后需检查 nums[l] 是否等于 l,避免数组越界或无效结果。
  2. 输入处理:若数组为空,直接返回 -1。
  3. 二分查找细节:确保 mid 的计算和指针调整正确,避免死循环或遗漏解。
http://www.dtcms.com/wzjs/150472.html

相关文章:

  • pb 做网站西安百度关键词优化排名
  • 资讯网站开发的背景培训机构营业执照如何办理
  • 为什么说做网站赚钱空间刷赞网站推广
  • 付网站开发费计入什么科目做百度推广一个月多少钱
  • wordpress修改固定链接后页面404优化的概念
  • app制作教程步骤和方法厦门seo推广
  • 新河网站建设顾问100个商业经典案例
  • 英文做影评的网站app注册推广平台
  • 网站开发使用什么语言关键词快速排名软件价格
  • wordpress products武汉百度seo网站优化
  • 驻马店做网站哪家好百度域名提交收录网址
  • google提交网站入口google官方版下载
  • 找做cad彩拼的网站洛阳网站seo
  • 郑州o2o网站建设汉狮成品网站1688入口网页版怎样
  • 深圳外贸公司名录黑帽seo培训多少钱
  • 医院网站建设策划案模板软文标题
  • 网站代运营多少钱一个月抖音seo排名优化
  • 东昌府聊城做网站公司百色seo快速排名
  • 官方网站是什么意思站长统计ios
  • 浙江汉农建设有限公司网站乌鲁木齐seo
  • dw做简单小说网站搜索引擎最新排名
  • 做网站需要参考书目书免费游戏推广平台
  • 草桥有做网站公司吗网站搜索系统
  • 河北网站建站系统哪家好网站管理和维护的主要工作有哪些
  • 做视频用的网站有哪些谷歌浏览器下载安卓版
  • 东莞市传送机技术支持 网站建设seo优化检测
  • 如何利用阿里云做网站常用的网络营销方法及效果
  • 小说网站做封面要钱吗软文推广平台
  • 深圳网站建设是什么百度首页广告
  • 辽宁建设工程信息网站销售人员培训课程有哪些