Q1 LeetCode704 二分查詢

清川1發表於2024-06-01
        

第一次提交錯誤:if-else語句中第二個if前未加else,導致迴圈出錯

//二分查詢 //有序情況下的查詢方式,時間複雜度O(logn) //注意左右邊界以及停止迴圈條件left<=right
     

class Solution{
    public int search(int[] nums,int target){
        //二分查詢 
        //有序情況下的查詢方式,時間複雜度O(logn)
        //注意左右邊界以及停止迴圈條件left<=right
        int left=0;
        int right=nums.length-1;
        while(left<=right){
            int mid=(left+right)/2;
            if(nums[mid]>target){
                right=mid-1;}
            else if(nums[mid]<target){
                left=mid+1;}
            else{
                return mid;}
                }
        return -1;
    }
}



相關文章