#参数nums是一个整型排序数组
#参数target是一个任意整型数
#返回值是一个整型数,若nums存在,返回该数位置;若不存在,返回-1
class Solution:
def findPosition(self, nums, target):
if len(nums) is 0:
return -1
start = 0
end = len(nums)-1
while start + 1 < end :
mid = start + (end-start)//2
if nums[mid] == target:
end = mid
elif nums[mid] < target:
start = mid
else:
end = mid
if nums[start] == target:
return start
if nums[end] == target:
return end
return -1
#主函数
if name == ‘main’:
generator=[1,2,2,4,5,5]
target = 2
solution = Solution()
print(“输入:”, generator)
print(“输出:”, solution.findPosition(generator, target))
经典二分查找
最新推荐文章于 2022-03-20 10:05:28 发布