首页 > 编程语言 > 详细

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

时间:2019-09-10 22:21:13      阅读:103      评论:0      收藏:0      [点我收藏+]

题目:假设一个单调递增的数组里的每个元素都是整数并且是唯一的。请找出数组中任意一个数值等于其下标的元素。

def get_num_same_index(nums):
    if len(nums)<1:
        return -1
    begin,end = 0,len(nums)-1
    while begin<end:
        mid = (begin+end)//2
        if nums[mid] == mid:
            return nums[mid]
        elif nums[mid]<mid:
            begin = mid+1
        elif nums[mid]>mid:
            end = mid-1
    return -1

  注:使用二分查找,当中间的数和索引相同时,返回值,结束;当中间值小于索引时,begin指向中间值+1;当中间值大于索引时,end指向中间值-1。

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

原文:https://www.cnblogs.com/kingshine007/p/11502937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!