当前位置:首页>python>Python编程:二分查找

Python编程:二分查找

  • 2026-10-21 13:27:10
Python编程:二分查找
1、问题描述
给定一个排序的整数数组(升序)和一个要查找的目标整数target,查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。
2、问题示例
输入数组[2,4,5,6,8,8]和目标整数6,输出其所在位置为3,即第一次出现在第3个位置。输入[4,5,7,8,9,10]和目标整数6,输出-1。
3、代码示例
class Solution:      #参数nums:整数数组      #参数target:要查找的目标数字      #返回值:目标数字的第一个位置,从0开始      def binarySearch(self,nums,target):          return self.search(nums,0,len(nums) - 1,target)      def search(self,nums,start,end,target):          if start > end:              return - 1          mid = (start + end)//2          if nums[mid] > target:              return self.search(nums,start,mid,target)          if nums[mid] == target:              return mid          if nums[mid] < target:              return self.search(nums,mid,end,target)#主函数if __name__ == '__main__':    my_solution = Solution()    nums = [2,4,5,6,8,8]    target = 6    targetIndex = my_solution.binarySearch(nums,target)    print("输入:nums = ",nums," ","target =",target)    print("输出:",targetIndex)
4、运行结果

输入:nums =  [2, 4, 5, 6, 8, 8]   target = 6

输出: 3

 - THE   END  -
*版权声明:转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

❖ 欢 迎 分 享 到 朋 友 圈 ❖

一键星标公众号   每天补充一点小知识

最新文章

随机文章