Problem List

Binary Search

April 07, 2025Python, Go, Javascript array, binary search

Do I really need to explain.

Python Solution
class Solution:
    def search(self, nums: List[int], target: int) -> int:
        low = 0 
        high = len(nums) - 1
        while low <= high: 
            mid = (low + high) // 2
            if nums[mid] == target:
                return mid
            if nums[mid] < target:
                low = mid + 1
            else: 
                high = mid - 1
        return -1
Go Solution
func search(nums []int, target int) int {
    low, high := 0, len(nums) - 1

    for low <= high {
        mid := low + ( high - low ) / 2
        if nums[mid] == target {
            return mid
        }

        if nums[mid] < target {
            low = mid + 1
        } else {
            high = mid -1 
        }
    }
    return -1
}
Javascript Solution
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var search = function(nums, target) {
    var low = 0
    var high = nums.length - 1

    while (low <= high) {
        var mid = Math.floor((low + high),2 )

        if (nums[mid] == target) {
            return mid 
        }

        if (nums[mid] < target) {
            low = mid + 1
        } else {
            high = mid - 1
        }
        
    }
    return -1
}
LeetCode Problem Link