Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでソートされた配列で目的の数値を検索する


昇順で並べ替えられた整数の配列があります。最初の引数として1つの配列を取り、2番目の引数としてターゲットの合計数を受け取るJavaScript関数を作成する必要があります。

関数は、配列からそのような2つの数値を見つけて返す必要があります。これらの数値を追加すると、ターゲットの合計が得られます。この問題を解決するための条件は、線形時間で一定の空間を使用してこれを実行する必要があることです。

以下はコードです-

const arr = [4, 6, 8, 9, 11, 12, 18, 21];
const num = 27;
const findElements = (arr = [], target) => {
   let left = 0;
   let right = arr.length - 1;
   let res = [];
   while (left < right) {
      let leftElement = arr[left];
      let rightElement = arr[right];
      if (leftElement + rightElement === target) {
         res.push(arr[left]);
         res.push(arr[right]);
         break;
      } else if (leftElement + rightElement > target) {
         right--;
      } else {
         left++;
      }
   }
   return res;
};
console.log(findElements(arr, num));

出力

以下はコンソール出力です-

[6, 21]

  1. JavaScriptを使用して目標平均に到達するための残りの数の合計を見つける

    問題 数値の配列と単一の数値を受け取るJavaScript関数を作成する必要があります。 この関数は、平均が2番目の引数で指定された数と等しくなるように、配列にプッシュする必要のある数を見つける必要があります。 例 以下はコードです- const arr = [4, 20, 25, 17, 9, 11, 15]; const target = 25; function findNumber(arr, target) {    let sum = arr.reduce((a, b) => a + b, 0);    let avg = sum

  2. JavaScriptで奇妙にソートされた配列でターゲット文字列を検索する

    問題 単語ターゲットと、常にターゲットを含むソートされた(長さ(増加)、大文字の数(減少)、自然な順序)一意の単語の配列を受け取るJavaScript関数を作成する必要があります。 この関数のタスクは、単語の配列からターゲットのインデックス(0ベース)を見つけることです。これは常にリストに含まれます。 例 以下はコードです- const arr = ['cP', 'rE', 'sZ', 'am', 'bt', 'ev', 'hq', 'rx', 'yi&