binarySearchArray

Written on August 7, 2019

문제

Given a sorted array, find the index of an element using a binary search algorithm.

풀이

var binarySearch = function(array, target) {
  let index = 0;
  const bs = (min, max) => {
    let center = Math.floor((max + min) / 2);

    if (array[center] === target) {
      index = center;
      return;
    } else if (center === 0 || center === array.length - 1) {
      index = null;
      return;
    } else if (array[center] < target) {
      if (max - center === 1) {
        bs(max, max);
      } else {
        bs(center, max);
      }
    } else {
      if (center - min === 1) {
        bs(min, min);
      } else {
        bs(min, center);
      }
    }
  };
  bs(0, array.length - 1);
  return index;
};

👩🏻‍💻 배우는 것을 즐기는 프론트엔드 개발자 입니다
부족한 블로그에 방문해 주셔서 감사합니다 🙇🏻‍♀️

in the process of becoming the best version of myself