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

JavaScriptで数値の配列から欠落している要素を見つける


nなどの長さの数値の配列を受け取るJavaScript関数を作成する必要があります。配列には0からnまでのすべての整数(0とnの両方を含む)が含まれていますが、欠落している整数は1つだけであり、任意の数値にすることができ、配列はソートされません。この関数のタスクは、欠落している数値を見つけて、線形時間と定数空間で返すことです。

配列には0からnまでの1つを除くすべての数値が含まれているため、線形時間で配列のすべての要素の合計を簡単に計算できます。

そして、不定の時間と空間で計算できる最初のn個の自然数の合計からそれを引くことができます。両者の違いは、不足している番号になります。

以下はコードです-

const arr = [3, 7, 8, 10, 11, 0, 2, 6, 1, 4, 5];
const findMissing = (arr = []) => {
   const sum = arr.reduce((acc, val) => acc + val);
   const { length: num } = arr;
   const correctSum = (num * (num + 1)) / 2;
   return diff = correctSum - sum;
   return diff;
};
console.log(findMissing(arr));

出力

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

9

  1. JavaScriptで配列から偶数の長さの数値を検索する

    最初で唯一の引数として整数の配列を受け取るJavaScript関数を作成する必要があります。次に、関数は、偶数桁を含む元の配列の要素のみを含む新しい配列を作成して返す必要があります。 例- 入力配列が-の場合 const arr = [12, 6, 123, 3457, 234, 2]; その場合、出力は-になります。 const output = [12, 3457]; 例 このためのコードは-になります const arr = [12, 6, 123, 3457, 234, 2]; const findEvenDigitsNumber = (arr = []) => { &n

  2. JavaScriptで配列内の最初の連続していない番号を見つける

    問題 数値の配列を受け取るJavaScript関数を作成する必要があります。関数は、前の要素の自然な後継ではない配列から最初の要素を返す必要があります。 これは、配列にそのような要素が少なくとも1つ存在する場合、前の要素の+1ではない要素を返す必要があることを意味します。 例 以下はコードです- const arr = [1, 2, 3, 4, 6, 7, 8]; const findFirstNonConsecutive = (arr = []) => {    for(let i = 0; i < arr.length - 1; i++){