力扣每日一题21.07.16
作者:互联网
统计一个数字在排序数组中出线的次数。
示例1:
输入:nums = [5, 7, 7, 8, 8, 10], target = 8
输出:2
示例2:
输入:nums = [5, 7, 7, 8, 8, 10], target = 6
输出:0
限制:0<=数组长度<=50000
思路:与主站34题相同,仅返回值不同:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/
代码:
class Solution:
def search(self, nums: List[int], target: int) -> int:
# 法1::直接遍历
count = 0
for i in range(len(nums)):
if nums[i] == target:
count += 1
elif nums[i] > target:
break
return count
# 法2、标准解法:二分查找
# l,r= 0,len(nums) - 1
# while l <= r:
# mid = (l + r + 1) // 2
# if nums[l] == target:
# if nums[r] == target:
# return r - l + 1
# elif nums[mid] == target:
# r -= 1
# else:
# r = mid - 1
# elif nums[mid] == target:
# l += 1
# elif nums[mid] < target:
# l = mid + 1
# else:
# r = mid - 1
# return 0
# 法3:调用count方法
# return nums.count(target)
标签:count,target,nums,int,16,示例,len,力扣,21.07 来源: https://blog.csdn.net/wcy1034036507/article/details/118785162