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

JavaScriptの線形時間における2つの整数の最大積


正の数と負の数の数の配列を受け取り、1回の走査で2つの数の最大積を返すJavaScript関数を作成する必要があります。

この関数のコードを書いてみましょう-

const arr = [-1, -3, -4, 2, 0, -5];
const arr2 = [2, 3, 5, 7, -7, 5, 8, -5];
const produce = arr => arr.reduce((acc, val) => acc*val);
const maximumProduct = (arr = []) => {
   const [first] = arr;
   if(!first){
      return 0;
   };
   const creds = arr.reduce((acc, val) => {
      const { min, max } = acc;
      if(val > max[0]){
         max[1] = max[0];
         max[0] = val;
         return acc;
      };
      if(val < min[0]){
         min[1] = min[0];
         min[0] = val;
         return acc;
      };
      if(val > max[1]){
         max[1] = val;
         return acc;
      };
      if(val < min[1]){
         min[1] = val;
         return acc;
      };
      return acc;
   }, {
      min: [first, first],
      max: [first, first]
   });
   const { max, min } = creds;
   return produce(max) > produce(min) ? produce(max) : produce(min);
};
console.log(maximumProduct(arr));
console.log(maximumProduct(arr2));

出力

コンソールの出力は-

になります
20
56

  1. JavaScriptで[1,2]+[3,4] =“ 1,23,4”なのはなぜですか?

    JavaScriptの+演算子は、2つの数値を追加したり、2つの文字列を結合したりするために使用されます。ただし、contact()メソッドを使用して2つの配列を結合し、新しい配列を取得します。たとえば、 [50, 70].concat([90, 100]) 上記のプリント [50, 70, 90, 100] 例を見てみましょう。 +演算子は文字列を連結し、配列を文字列に変換します- [1,2] + [3,4] '1,2' + '3,4' 1,23,4 または、上記のように、concat()を使用します [1,2].concat([3,4]) [1,2,3,4]

  2. JavaScriptでの線形検索の実装

    以下は、JavaScriptで線形検索を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>