例5、二分查找
1、问题描述
给定一个排序的整数数组(升序)和一个要查找的目标整数target,查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1.
2、问题示例
输入数组 [1,4,4,5,7,7,8,9,10]和目标整数1,输出其所在的位置为0,即第一次出现在第0个位置。输入数组[1,2,3,3,4,5,10]和目标整数3,输出2,即第一次出现在第2个位置,输入数组 [1,2,3,3,4,5,10]和目标整数6,输出-1,即没有出现过6,返回-1
3、代码实现
class Solution:
#参数nums为整数数组
#参数target为目标整数
#返回目标整数的下标
def __init__(self):
pass
def binarySearch(self, nums, target):
return nums.index(target) if target in nums else -1
my_solution = Solution()
nums = [1,2,3,4,5,6]
target = input("请输入要查找的数:")
target = int (target)
targetIndex = my_solution.binarySearch(nums, target)
print("输入:nums =", nums, " ", "target =",target)
print("输出:",targetIndex)