Merge pull request #531 from Reoooh/master

添加0704二分查找 Ruby 版本
This commit is contained in:
程序员Carl
2021-07-30 10:32:12 +08:00
committed by GitHub

View File

@ -235,8 +235,6 @@ class Solution:
return -1
```
**Go**
(版本一)左闭右闭区间
@ -279,7 +277,7 @@ func search(nums []int, target int) int {
}
```
**javaScript:**
**JavaScript:**
```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
```