1. 程式人生 > 其它 >#力扣 LeetCode 劍指 Offer 53 - I. 在排序陣列中查詢數字 I #Java超100%@FDDLC

#力扣 LeetCode 劍指 Offer 53 - I. 在排序陣列中查詢數字 I #Java超100%@FDDLC

技術標籤:演算法&資料結構

題目描述:

https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/

Java程式碼:

class Solution { //0 <= 陣列長度 <= 50000
    public int search(int[] nums, int target) {
        int low=0,high=nums.length-1,mid=-1,answer=0;
        while(low<=high){
            mid=(low+high)/2;
            if(nums[mid]<target)low=mid+1;
            else if(nums[mid]>target)high=mid-1;
            else break;
        }
        for(int toLeft=mid;toLeft>=0&&nums[toLeft]==target;answer++,toLeft--); //if null mid=-1
        for(int toRight=mid+1;toRight<nums.length&&nums[toRight]==target;answer++,toRight++);
        return answer;
    }
}