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

JavaScriptで最も長い珍しいシーケンスを見つける


文字列の配列を受け取るJavaScript関数を作成する必要があります。関数は、配列の文字列の中から最も長い珍しいサブシーケンスを見つける必要があります。

最長の珍しいサブシーケンスとは、これらの文字列の1つの最長のサブシーケンスを意味し、このサブシーケンスは他の文字列のサブシーケンスであってはなりません。

この関数は、この最も長い珍しいサブシーケンスの長さを返す必要があります。

例:入力配列が-

の場合
const arr = ["aba", "cdc", "eae"];

その場合、出力は3になります。

このためのコードは-

になります
const arr = ["aba", "cdc", "eae"];
const findUncommonLength = (array = []) => {
   const seen = {};
   const arr = [];
   let max = −1;
   let index = −1;
   for(let i = 0; i < array.length; i++){
      seen[array[i]] = (seen[array[i]] || 0) + 1;
      if(seen[array[i]] > 1){
         if(max < array[i].length){
            max = array[i].length
            index = i;
         }
      }
   };
   if(index === −1) {
      array.forEach(el =>{
         if(el.length > max) max = el.length;
      })
      return max;
   };
   for(let i = 0; i < array.length; i++){
      if(seen[array[i]] === 1) arr.push(array[i]);
   };
   max = −1;
   for(let i = arr.length − 1; i >= 0; i−−){
      let l = arr[i];
      let d = 0;
      for(let j = 0; j < array[index].length; j++){
         if(array[index][j] === l[d]){
            d++;
         }
      }
      if(d === l.length){
         let temp = arr[i];
         arr[i] = arr[arr.length − 1];
         arr[arr.length − 1] = temp;
         arr.pop();
      }
   };
   arr.forEach(el =>{
      if(el.length > max) max = el.length;
   });
   return max;
};
console.log(findUncommonLength(arr));

出力

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

になります
3

  1. JavaScriptを使用して、文字列内で最も長く連続して繰り返される文字とその長さを検索する

    問題 文字列を取り込むJavaScript関数を作成する必要があります。この関数は、正確に2つの要素の配列を返す必要があります。最初の要素は文字列内で最も多く連続して出現する文字であり、2番目は出現数です。 例 以下はコードです- const str = 'tdfdffddffsdsfffffsdsdsddddd'; const findConsecutiveCount = (str = '') => {    let res='';    let count=1;    le

  2. JavaScriptで設定されている最長の長さを見つけて返す

    問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 長さNの配列arrには、0からN-1までのすべての整数が含まれています。私たちの関数は、集合Sの最長の長さを見つけて返すことになっています。ここで、S [i] ={A [i]、A [A [i]]、A [A [A [i]]]、...}以下のルールに。 Sの最初の要素がインデックス=iの要素A[i]の選択で始まり、Sの次の要素はA [A [i]]であり、次にA [A[A[i]]]…であると仮定します。同様に、Sで重複要素が発生する直前に追加を停止します。 たとえば、関数への入力が-の