python找出数组的最大值(Python查找数组中数值和下标相等的元素示例二分查找)
类别:脚本大全 浏览量:2840
时间:2022-03-30 09:41:16 python找出数组的最大值
Python查找数组中数值和下标相等的元素示例二分查找本文实例讲述了Python查找数组中数值和下标相等的元素。分享给大家供大家参考,具体如下:
题目描述:
假设一个单调递增的数组中的每个元素都是整数并且是唯一的。请编程实现一个函数,找出数组中任意一个数值等于其下标的元素,例如在数组【-3,-1,1,3,5】中,3和他的下标相等。
采用二分查找:如果数组中的数字小于下标,由于下标是-1的递减数列,但是数组中的元素差值大于等于-1,因此左边的不可能等于下标。如果数组中的数字大于下标,同理,之后的数字肯定都大于下标,往左边查找。
算法示例:
|
# -*- coding:utf-8 -*- #! python3 class Solution: def numberEqualSubscript( self , numbers): if numbers = = []: return - 1 left = 0 right = len (numbers) - 1 while (left < = right): middle = (left + right) >> 1 if numbers[middle] = = middle: return middle elif numbers[middle] < middle: left = middle + 1 else : right = middle - 1 return - 1 numbers = [ - 3 , - 1 , 1 , 3 , 5 ] print (Solution().numberEqualSubscript(numbers)) |
运行结果:
3
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://blog.csdn.net/weixin_36372879/article/details/84950353
您可能感兴趣
- 用python查看运行进程(在Python运行时动态查看进程内部信息的方法)
- python协程详解(为什么你还不懂得怎么使用Python协程)
- python多进程与多线程详解(Python线程之定位与销毁的实现)
- python用于机器人(python控制nao机器人身体动作实例详解)
- python交互模式下如何开始运行(python交互界面的退出方法)
- pythonmysql使用教程(Python异步操作MySQL示例使用aiomysql)
- python 绕过密码(一小段Python代码,破解加密zip文件的密码)
- python操作redis(Python获取Redis所有Key以及内容的方法)
- python完整异常机制(深入理解Python异常处理的哲学)
- python内置函数使用方法(Python神奇的内置函数locals的实例讲解)
- python的条件判断和循环(对Python中的条件判断、循环以及循环的终止方法详解)
- python 常用爬虫库(Python常用爬虫代码总结方便查询)
- python爬虫怎么爬取vip资源(Python网络爬虫之爬取微博热搜)
- python 百度搜索结果(Python模拟百度自动输入搜索功能的实例)
- python配合docker(Docker构建python Flask+ nginx+uwsgi容器)
- python串口怎么使用(使用Python3+PyQT5+Pyserial 实现简单的串口工具方法)
- 《庆余年2》新消息,原班人马,肖战特别出演,这才是最好的安排(庆余年2新消息原班人马)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
热门推荐
- laravel关闭错误提示(解决laravel session失效的问题)
- cssborder三角形怎么画(使用CSS的border属性绘制各种几何形状的方法)
- navicat连接mysql报1045(解决Navicat for MySQL 连接 MySQL 报2005错误的问题)
- centos7 apache配置(CentOSLinux下的apache服务器配置与管理方法分享)
- html5 data属性
- 快速建站指南(西部数码建站助手使用图文教程)
- dedecms栏目静态化(dedecms TAG标签按栏目显示的方法)
- python小程序编程代码(python实现烟花小程序)
- js 出现cannot find function(Fatal error: Call to a member function read on a non-object in 错误解决方法)
- 简述python2与python3的不同点(Python2与Python3的区别实例分析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9