@@ -515,7 +515,8 @@ impl Solution {
515
515
```
516
516
517
517
** C:**
518
- ``` c(版本一)
518
+ ```
519
+ //C (版本一) 左闭右闭区间 [left, right]
519
520
int search(int* nums, int numsSize, int target){
520
521
int left = 0;
521
522
int right = numsSize-1;
@@ -542,21 +543,21 @@ int search(int* nums, int numsSize, int target){
542
543
}
543
544
```
544
545
```
545
- C (版本二)
546
+ C (版本二) 左闭右开区间 [left, right)
546
547
int search(int* nums, int numsSize, int target){
547
548
int length = numsSize;
548
549
int left = 0;
549
- int right = length;//定义target在左闭右开的区间里,即:[left, right)
550
+ int right = length;//定义target在左闭右开的区间里,即:[left, right)
550
551
int middle = 0;
551
- while(left < right){// left == right时,区间[left, right)属于空集,所以用 < 避免该情况
552
+ while(left < right){// left == right时,区间[left, right)属于空集,所以用 < 避免该情况
552
553
int middle = left + (right - left) / 2;
553
554
if(nums[middle] < target){
554
555
//target位于(middle , right) 中为保证集合区间的左闭右开性,可等价为[middle + 1,right)
555
556
left = middle + 1;
556
557
}else if(nums[middle] > target){
557
558
//target位于[left, middle)中
558
559
right = middle ;
559
- }else{// nums[middle] == target ,找到目标值target
560
+ }else{// nums[middle] == target ,找到目标值target
560
561
return middle;
561
562
}
562
563
}
0 commit comments