python编程300例之 005二分查找

发布时间:2022-06-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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二分查找全部内容,希望文章能够帮你解决python编程300例之 005二分查找所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: