mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
添加0704.二分查找 Kotlin版本
This commit is contained in:
@ -611,6 +611,38 @@ public class Solution{
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Kotlin:**
|
||||||
|
```Kotlin
|
||||||
|
// (版本一)左闭右开区间
|
||||||
|
class Solution {
|
||||||
|
fun search(nums: IntArray, target: Int): Int {
|
||||||
|
var left = 0
|
||||||
|
var right = nums.size // [left,right) 右侧为开区间,right 设置为 nums.size
|
||||||
|
while (left < right) {
|
||||||
|
val mid = (left + right) / 2
|
||||||
|
if (nums[mid] < target) left = mid + 1
|
||||||
|
else if (nums[mid] > target) right = mid // 代码的核心,循环中 right 是开区间,这里也应是开区间
|
||||||
|
else return mid
|
||||||
|
}
|
||||||
|
return -1 // 没有找到 target ,返回 -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// (版本二)左闭右闭区间
|
||||||
|
class Solution {
|
||||||
|
fun search(nums: IntArray, target: Int): Int {
|
||||||
|
var left = 0
|
||||||
|
var right = nums.size - 1 // [left,right] 右侧为闭区间,right 设置为 nums.size - 1
|
||||||
|
while (left <= right) {
|
||||||
|
val mid = (left + right) / 2
|
||||||
|
if (nums[mid] < target) left = mid + 1
|
||||||
|
else if (nums[mid] > target) right = mid - 1 // 代码的核心,循环中 right 是闭区间,这里也应是闭区间
|
||||||
|
else return mid
|
||||||
|
}
|
||||||
|
return -1 // 没有找到 target ,返回 -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
||||||
|
Reference in New Issue
Block a user