JavaScriptでのデータ検索のHackerrankの解法


  1. 線形検索: 線形検索は、データセット内の要素を順番に確認し、目的の要素を見つける方法です。以下は、JavaScriptで線形検索を実装する例です。
function linearSearch(array, target) {
  for (let i = 0; i < array.length; i++) {
    if (array[i] === target) {
      return i; // 要素のインデックスを返す
    }
  }
  return -1; // 要素が見つからなかった場合は-1を返す
}
const dataset = [5, 8, 2, 10, 3];
const targetElement = 10;
const resultIndex = linearSearch(dataset, targetElement);
console.log("要素のインデックス:", resultIndex);
  1. 二分検索: 二分検索は、ソートされたデータセットでのみ使用できる効率的な検索アルゴリズムです。データセットを半分に分割しながら目的の要素を見つけることができます。以下は、JavaScriptで二分検索を実装する例です。
function binarySearch(array, target) {
  let start = 0;
  let end = array.length - 1;
  while (start <= end) {
    let mid = Math.floor((start + end) / 2);
    if (array[mid] === target) {
      return mid; // 要素のインデックスを返す
    } else if (array[mid] < target) {
      start = mid + 1;
    } else {
      end = mid - 1;
    }
  }
  return -1; // 要素が見つからなかった場合は-1を返す
}
const dataset = [2, 3, 5, 8, 10];
const targetElement = 5;
const resultIndex = binarySearch(dataset, targetElement);
console.log("要素のインデックス:", resultIndex);