[Leetcode] 704. Binary Search β
#μ΄μ§νμ
Problem β
Leetcode algorithm study plan > λ¬Έμ λ§ν¬
μ λ ¬λ λ°°μ΄μ€μμ νκ²κ°κ³Ό μΌμΉνλ κ°μ μμΉλ₯Ό μ°ΎμλΌ. O(log n)
μΌλ‘
Solution β
O(log n)
μΌλ‘ νμ΄μΌνλ λ¬Έμ μ΄λ―λ‘ μ΄μ§νμμ μ΄μ©νλ€.
μ΄μ§νμ 쑰건μ€μΈ λ°°μ΄μ μ λ ¬μνλ₯Ό νμΈνλ€.
μ΄μ§νμμ λ°°μ΄μ κ°μ΄ λκ°κ° λ¨μμλ midλ νμ μΌμͺ½μ λ°λΌλ³΄κ²λλ€λ 쑰건μ μ΄μ©ν΄μ 무ν루νκ° λμ§μκ² νκ²μ μ€λ₯Έμͺ½μΈλ±μ€λ‘ λ§μΆ°μ 쑰건μ μ§λ©΄λλ€.
JS Code β
javascript
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var search = function(nums, target) {
let answer = -1
let left = 0, right = nums.length -1
while(left < right) {
let mid = Math.floor((left+right) / 2)
if (nums[mid] < target) left = mid + 1
else right = mid
}
if (nums[right] === target) answer = right
return answer
};