Python查找数组中数值和下标相等的元素示例【二分查找】
程序员文章站
2023-11-10 13:09:22
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《python数据结构与算法教程》、《python列表(list)操作技巧总结》、《python编码操作技巧总结》、《python函数使用技巧总结》、《python字符串操作技巧汇总》及《python入门与进阶经典教程》
希望本文所述对大家python程序设计有所帮助。
推荐阅读
-
Python查找数组中数值和下标相等的元素示例【二分查找】
-
python实现在列表中查找某个元素的下标示例
-
在排序数组中查找元素的第一个和最后一个位置、变形二分法
-
在排序数组中查找元素的第一个和最后一个位置(二分、lower_bound、upper_bound)
-
Python查找数组中数值和下标相等的元素示例【二分查找】
-
34. 在排序数组中查找元素的第一个和最后一个位置【二分待完成】
-
快速查找数组中的某个元素并返回下标示例_javascript技巧
-
快速查找数组中的某个元素并返回下标示例_javascript技巧
-
python实现在列表中查找某个元素的下标示例
-
在排序数组中查找元素的第一个和最后一个位置(二分、lower_bound、upper_bound)