Leetcode Note: Go - Binary Search
Binary Search - LeetCode
https://leetcode.com/problems/binary-search/
- Go 言語で取り組んだメモ
所感
- int 配列 nums と int target が渡される
- nums に含まれる数値はユニークであることが保証されている
- nums は昇順でソート済みとする
- nums に含まれる target の index を int で return する
回答
Go Solution, with and without Standard Library - LeetCode Discuss
https://leetcode.com/problems/binary-search/discuss/850762/Go-Solution-with-and-without-Standard-Library
func search(nums []int, target int) int {
low, high := 0, len(nums)-1
var mid int
for low <= high {
mid = (low + high) / 2
if nums[mid] < target {
low = mid + 1
} else if nums[mid] > target {
high = mid - 1
} else {
return mid
}
}
return -1
}
- binary search で探索
- mid を使って中央での分割をループしていく