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

JavaScriptの一意の単語の最大長の積


問題

最初で唯一の引数として文字列の配列(小文字のアルファベットのみ)を受け取るJavaScript関数を作成する必要があります。

関数は、共通の文字を共有せず、それらの長さの最大積を持つ2つのそのような文字列を配列から選択する必要があります。そして、関数はそのような2つの文字列の長さの積を返す必要があります。配列にそのような文字列が存在しない場合は、0を返す必要があります。

たとえば、関数への入力が-

の場合
const arr = ["karl", "n", "the", "car", "mint", "alpha"];

その場合、出力は-

になります。
const output = 20;

出力の説明:

「ミント」と「アルファ」という単語は共通の単語を共有せず、それらの長さの積は20です。

このためのコードは-

になります
const arr = ["karl", "n", "the", "car", "mint", "alpha"];
const maxLengthProduct = (arr = []) => {
   const array = [];
   arr.forEach(str => {
      let curr = 0;
      for(let i = 0; i < str.length; i++){
         curr |= 1<<(str.charCodeAt(i) - 97);
      };
      array.push(curr);
   });
   let res = 0;
   for(let i = 0 ; i < array.length; i++) {
      for(let j = i + 1; j < array.length ; j++) {
         if((array[i] & array[j]) === 0) {
            res = Math.max(res, arr[i].length * arr[j].length);
         }
      }
   }
   return res;
};
console.log(maxLengthProduct(arr));

出力

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

になります
20

  1. JavaScript-配列オブジェクトの長さ

    JavaScriptのlengthプロパティは、オブジェクトのサイズを返します。以下は、文字列および配列オブジェクトの長さのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document

  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&