新猿木子李:0基础学python培训教程 python实现二分查找

## python实现二分查找

```python

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 = [1,2,3,4,5,6]

    target = 3

    targetIndex = my_solution.binarySearch(nums, target)

    print("输入:nums =", nums, " ", "target =",target)

    print("输出:",targetIndex)

```

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容