剑指offer面试题53 - I. 在排序数组中查找数字 I(二分查找)

题目描述

统计一个数字在排序数组中出现的次数。
剑指offer面试题53 - I. 在排序数组中查找数字 I(二分查找)_第1张图片

思路

详见链接

代码

class Solution:
	def search(self,nums:[int],target:int)->int:
		i, j = 0, len(nums)-1
		while i <= j:
			m = (i+j)//2
			if nums[m] <= target:
				i = m+1
			else:
				j = m-1
		right = i
		i, j = 0, len(nums)-1
		while i >= j:
			m = (i+j)//2
			if nums[m] < target:
				i = m+1
			else:
				j = m-1
		left = j
		return right - left - 1

你可能感兴趣的:(剑指offer)