二分法查找数组某元素

这是我第三次默写,你呢?

      let arr = [...Array(10).keys()].map(x => x + 1);
      console.log(arr);
      function searching(arr, target) {
        let start = 0;
        let end = arr.length - 1;
        let middleIndex;
        let middle;
        while (start <= end) {
          middleIndex = Math.floor((start + end) / 2);
          middle = arr[middleIndex];
          if (target === middle) {
            return middleIndex;
          } else if (target < middle) {
            end = middleIndex - 1;
          } else {
            start = middleIndex + 1;
          }
        }
        return -1;
      }
      console.log(searching(arr1, 5));

 

posted @ 2022-03-18 17:02  苹果π  阅读(24)  评论(0)    收藏  举报