Go•binary-search/solution.go
package main
func search(nums []int, target int) int {
left, right := 0, len(nums)-1
for left <= right {
middle := left + (right-left)/2
if nums[middle] == target {
return middle
}
if nums[middle] < target {
left = middle + 1
} else {
right = middle - 1
}
}
return -1
}
Python•binary-search/solution.py
class Solution:
def search(self, nums: list[int], target: int) -> int:
left, right = class="syntax-number">0, len(nums) - class="syntax-number">1
while left <= right:
middle = left + (right - left) class=class="syntax-string">"syntax-comment">// class="syntax-number">2
if nums[middle] == target: return middle
if nums[middle] < target: left = middle + class="syntax-number">1
else: right = middle - class="syntax-number">1
return -class="syntax-number">1
TypeScript•binary-search/solution.ts
function search(nums: number[], target: number): number {
let left = class="syntax-number">0;
let right = nums.length - class="syntax-number">1;
while (left <= right) {
const middle = left + Math.floor((right - left) / class="syntax-number">2);
if (nums[middle] === target) return middle;
if (nums[middle] < target) left = middle + class="syntax-number">1;
else right = middle - class="syntax-number">1;
}
return -class="syntax-number">1;
}