每日一道算法题--leetcode 704--二分查找--C++/python3

473 阅读1分钟

【题目描述】

【代码思路】 这个太过简单,基础数据结构算法,不多叙述

【源代码】 c++:

class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left=0;
        int right=nums.size()-1;
        int mid=0;
        while(left<=right){
            mid=(left+right)/2;
            if(nums[mid]==target){
                return mid;
            }else if(nums[mid]>target){
                right=mid-1;
            }else{
                left=mid+1;
            } 
        }
        return -1;
    }
};

python3

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