python编程300例之 005二分查找
2021/11/21 11:40:22
本文主要是介绍python编程300例之 005二分查找,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 # binarysearch 2 # 给定一个排序的整数数组(升序),和一个要查找的目标整数target 3 # 查找到target第一次出现的的下标(从0开始)如果数组中没有就返回-1 4 """ 5 输入数组[1,4,4,5,7,7,8,9,9,10]和目标整数1,输出其所在的位置为0,即第一次出现第0个位置.输入数组[1,2,3,3,4,5,10]和 6 目标整数3,输出2,即第一次出现在第二个位置 7 """ 8 9 10 class Solution: 11 def binarySearch(self, nums, target): 12 left = 0 13 right = len(nums) - 1 14 while 1: 15 middle = (left + right) // 2 16 if left <= right: 17 if nums[middle] > target: 18 right = middle - 1 19 elif nums[middle] < target: 20 left = middle + 1 21 else: 22 return middle 23 else: 24 return -1 25 26 27 c1 = Solution() 28 print(c1.binarySearch([1, 4, 4, 5, 7, 7, 8, 9, 9, 10], 6))
这篇关于python编程300例之 005二分查找的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python