mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 02:53:31 +08:00
@ -235,8 +235,6 @@ class Solution:
|
|||||||
return -1
|
return -1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Go:**
|
**Go:**
|
||||||
|
|
||||||
(版本一)左闭右闭区间
|
(版本一)左闭右闭区间
|
||||||
@ -279,7 +277,7 @@ func search(nums []int, target int) int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
**javaScript:**
|
**JavaScript:**
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|
||||||
@ -316,7 +314,43 @@ var search = function(nums, target) {
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Ruby:**
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
# (版本一)左闭右闭区间
|
||||||
|
|
||||||
|
def search(nums, target)
|
||||||
|
left, right = 0, nums.length - 1
|
||||||
|
while left <= right # 由于定义target在一个在左闭右闭的区间里,因此极限情况下存在left==right
|
||||||
|
middle = (left + right) / 2
|
||||||
|
if nums[middle] > target
|
||||||
|
right = middle - 1
|
||||||
|
elsif nums[middle] < target
|
||||||
|
left = middle + 1
|
||||||
|
else
|
||||||
|
return middle # return兼具返回与跳出循环的作用
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-1
|
||||||
|
end
|
||||||
|
|
||||||
|
# (版本二)左闭右开区间
|
||||||
|
|
||||||
|
def search(nums, target)
|
||||||
|
left, right = 0, nums.length
|
||||||
|
while left < right # 由于定义target在一个在左闭右开的区间里,因此极限情况下right=left+1
|
||||||
|
middle = (left + right) / 2
|
||||||
|
if nums[middle] > target
|
||||||
|
right = middle
|
||||||
|
elsif nums[middle] < target
|
||||||
|
left = middle + 1
|
||||||
|
else
|
||||||
|
return middle
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-1
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user