Merge pull request #2178 from yefeidd/feature/add-dart-implementation-of-0704

Add the dart implementation of 0704 - "二分查找"
This commit is contained in:
程序员Carl
2023-07-28 10:04:41 +08:00
committed by GitHub

View File

@ -760,8 +760,56 @@ object Solution {
}
}
```
**Dart:**
```dart
(版本一)左闭右闭区间
class Solution {
int search(List<int> nums, int target) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int middle = ((left + right)/2).truncate();
switch (nums[middle].compareTo(target)) {
case 1:
right = middle - 1;
continue;
case -1:
left = middle + 1;
continue;
default:
return middle;
}
}
return -1;
}
}
(版本二)左闭右开区间
class Solution {
int search(List<int> nums, int target) {
int left = 0;
int right = nums.length;
while (left < right) {
int middle = left + ((right - left) >> 1);
switch (nums[middle].compareTo(target)) {
case 1:
right = middle;
continue;
case -1:
left = middle + 1;
continue;
default:
return middle;
}
}
return -1;
}
}
```
<p align="center">
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>