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

JavaScript配列内の3番目に大きい数を見つける


数値の配列を受け取るJavaScript関数を作成する必要があります。関数は、配列から3番目に大きい数値を選択して返す必要があります。

関数の時間計算量はO(n)を超えてはならず、1回の反復で数を見つける必要があります。

const arr = [1, 5, 23, 3, 676, 4, 35, 4, 2];
 const findThirdMax = (arr) => {
   let [first, second, third] = [-Infinity, -Infinity, -Infinity];
   for (let el of arr) {
      if (el === first || el === second || el === third) {
         continue; };
         if (el > first) {
            [first, second, third] = [el, first, second]; continue; };
         if (el > second) {
            [second, third] = [el, second]; continue;
          };
         if (el > third) {
            third = el; continue;
      };
   };
   return third !== -Infinity ? third : first;
};
console.log(findThirdMax(arr));

出力

そして、コンソールの出力は-

になります
23

  1. JavaScriptで配列内の3番目に大きい数を見つける

    最初で唯一の引数として数値の配列を受け取るJavaScript関数を作成する必要があります。 この関数のタスクは、配列から3番目に大きい数を選択して返すことです。また、配列に3番目の最大数が含まれていない場合は、配列から最大数を返すだけです。 例- 入力配列が-の場合 const arr = [34, 67, 31, 87, 12, 30, 22]; その場合、出力は-になります。 const output = 34; 例 このためのコードは-になります const arr = [34, 67, 31, 87, 12, 30, 22]; const findThirdMax = (a

  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++){