close
C++
/* Input: nums = [-1,0,3,5,9,12], target = 9 Output: 4 Explanation: 9 exists in nums and its index is 4 */ class Solution { public: int search(vector<int>& nums, int target) { int left=0; int right=nums.size()-1; while(left<=right){ int middle=left+((right-left)/2);//防止溢出 if(nums[middle]>target){ right=middle-1; } else if(nums[middle]<target){ left=middle+1; } else return middle; //找到 } return -1; //未找到 } };
python:
class Solution: def search(self, nums: List[int], target: int) -> int: left, right = 0, len(nums) - 1 while left <= right: middle = (left + right) // 2 if nums[middle] < target: left = middle + 1 elif nums[middle] > target: right = middle - 1 else: return middle return -1
文章標籤
全站熱搜