From 1d070b8932b6a3c7b644ca2a6f4d9f61d87115a4 Mon Sep 17 00:00:00 2001 From: yko-git Date: Wed, 13 Mar 2024 14:55:21 +0900 Subject: [PATCH] fix 002_search binarySearch --- 004_algorithm/002_search.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/004_algorithm/002_search.js b/004_algorithm/002_search.js index a54c533..5e73518 100644 --- a/004_algorithm/002_search.js +++ b/004_algorithm/002_search.js @@ -31,18 +31,20 @@ function linearSearch(array, target) { function binarySearch(array, target) { // 配列の位置を設定 + let index = -1; let low = 0; //左端 let high = array.length - 1; //右端 //左端が右端以下の間(1つの要素に絞られるまで)は処理を続ける while (low <= high) { - mid = low + high; // 真ん中の位置 - guess = array[mid]; // 真ん中の要素 + let mid = Math.floor((low + high) / 2); // 真ん中の位置 + let guess = array[mid]; // 真ん中の要素 //真ん中の要素がtargetと合致したら if (guess == target) { //位置を返す - return mid; + index = mid; + return index; //真ん中の要素がtargetより大きかったら } else if (guess > target) { @@ -52,7 +54,7 @@ function binarySearch(array, target) { low = mid + 1; } } - return -1; + return index; } module.exports = {