mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
添加 0704.二分查找.md C语言版本
This commit is contained in:
@ -374,7 +374,7 @@ func search(nums: [Int], target: Int) -> Int {
|
|||||||
} else if target > nums[middle] {
|
} else if target > nums[middle] {
|
||||||
// 当目标在区间右侧,就需要更新左边的边界值,新区间为[middle + 1, right]
|
// 当目标在区间右侧,就需要更新左边的边界值,新区间为[middle + 1, right]
|
||||||
left = middle + 1
|
left = middle + 1
|
||||||
} else {
|
} else {
|
||||||
// 当目标就是在中间,则返回中间值的下标
|
// 当目标就是在中间,则返回中间值的下标
|
||||||
return middle
|
return middle
|
||||||
}
|
}
|
||||||
@ -450,6 +450,33 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**C:**
|
||||||
|
```c
|
||||||
|
int search(int* nums, int numsSize, int target){
|
||||||
|
int left = 0;
|
||||||
|
int right = numsSize-1;
|
||||||
|
int middle = 0;
|
||||||
|
//若left小于等于right,说明区间中元素不为0
|
||||||
|
while(left<=right) {
|
||||||
|
//更新查找下标middle的值
|
||||||
|
middle = (left+right)/2;
|
||||||
|
//此时target可能会在[left,middle-1]区间中
|
||||||
|
if(nums[middle] > target) {
|
||||||
|
right = middle-1;
|
||||||
|
}
|
||||||
|
//此时target可能会在[middle+1,right]区间中
|
||||||
|
else if(nums[middle] < target) {
|
||||||
|
left = middle+1;
|
||||||
|
}
|
||||||
|
//当前下标元素等于target值时,返回middle
|
||||||
|
else if(nums[middle] == target){
|
||||||
|
return middle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//若未找到target元素,返回-1
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
|
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
|
||||||
|
Reference in New Issue
Block a user