【Leetcode 704】二分查找,判断一个有序数组中一个数字出现的次数

首先是二分查找【Leetcode 704】二分查找,判断一个有序数组中一个数字出现的次数_第1张图片

java版本

class Solution {
    public int search(int[] nums, int target) {
        int pivot, left = 0, right = nums.length - 1;
        while (left <= right) {
            pivot = left + (right - left) / 2;
            if (nums[pivot] == target) return pivot;
            if (target < nums[pivot]) right = pivot - 1;
            else left = pivot + 1;
        }
        return -1;
    }
}

python版本

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

【Leetcode 704】二分查找,判断一个有序数组中一个数字出现的次数_第2张图片

判断一个有序数组中一个数字出现的次数

参考链接:https://blog.csdn.net/nwpubear/article/details/81915247

你可能感兴趣的:(Leetcode)