LeetCode704.ไบๅๆฅๆพ๐๐๐๐๐็ฎๅ
้ฎ้ขๆ่ฟฐ
ๅ้ข้พๆฅ๏ผ704. ไบๅๆฅๆพ
็ปๅฎไธไธช n ไธชๅ
็ด ๆๅบ็๏ผๅๅบ๏ผๆดๅๆฐ็ป nums ๅไธไธช็ฎๆ ๅผ target ๏ผๅไธไธชๅฝๆฐๆ็ดข nums ไธญ็ target๏ผๅฆๆ็ฎๆ ๅผๅญๅจ่ฟๅไธๆ ๏ผๅฆๅ่ฟๅ -1ใ
็คบไพ 1:
่พๅ
ฅ: nums = [-1,0,3,5,9,12], target = 9
่พๅบ: 4
่งฃ้: 9 ๅบ็ฐๅจ nums ไธญๅนถไธไธๆ ไธบ 4
็คบไพ 2:
่พๅ
ฅ: nums = [-1,0,3,5,9,12], target = 2
่พๅบ: -1
่งฃ้: 2 ไธๅญๅจ nums ไธญๅ ๆญค่ฟๅ -1
ไปฃ็ ๅฎ็ฐ
Java
public int search(int[] nums, int target) {
// ้ญๅบ้ด
int l = 0;
int r = nums.length - 1;
while( l <= r){
int mid = l + (r - l) / 2;
if(nums[mid] > target){
r = mid - 1;
} else if(nums[mid] < target){
l = mid + 1;
} else{
return mid;
}
}
return -1;
}
C++
class Solution {
public:
int search(vector<int>& nums, int target) {
// ้ญๅบ้ด
int l = 0;
int r = nums.size() - 1;
while (l <= r) {
int mid = l + (r - l) / 2;
if (nums[mid] > target) {
r = mid - 1;
} else if (nums[mid] < target) {
l = mid + 1;
} else {
return mid;
}
}
// ๅฆๆๆพไธๅฐ๏ผๅ่ฟๅ -1
return -1;
}
};
Python
class Solution:
def search(self, nums: List[int], target: int) -> int:
# ้ญๅบ้ด
l = 0
r = len(nums) - 1
while l <= r:
mid = l + (r - l) // 2
if nums[mid] > target:
r = mid - 1
elif nums[mid] < target:
l = mid + 1
else:
return mid
# ๅฆๆๆพไธๅฐ๏ผๅ่ฟๅ -1
return -1
Go
func search(nums []int, target int) int {
// ้ญๅบ้ด
l := 0
r := len(nums) - 1
for l <= r {
mid := l + (r-l)/2
if nums[mid] > target {
r = mid - 1
} else if nums[mid] < target {
l = mid + 1
} else {
return mid
}
}
// ๅฆๆๆพไธๅฐ๏ผๅ่ฟๅ -1
return -1
}