package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param k int整型 * @return int整型 */ func GetNumberOfK( nums []int , k int ) int { pos := -1 l,r := 0, len(nums) -1 for l <= r { mid := l + (r - l)/2 if nums[mid] == k { pos = mid break } else if nums[mid] > k { r = mid - 1 } else { l = mid + 1 } } if pos == -1 { return 0 } cnt := 1 l, r = pos -1, pos +1 for ;r < len(nums); r++ { if nums[r] != k { break } else { cnt++ } } for ;l >= 0; l-- { if nums[l] != k { break } else { cnt++ } } return cnt }