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

JavaScriptで0と1の連続したサブ配列


問題:

バイナリ配列arr(0または1のみで構成される配列)を受け取るJavaScript関数を作成する必要があります。この関数は、同じ数の1と0で構成される配列から連続するサブ配列の長さを返す必要があります。

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

の場合
const arr = [1, 0, 0, 1, 0, 1, 0, 0];

その場合、出力は-

になります。
const output = 6;

出力の説明

配列の最初の6つの要素は、1、0、0、1、0、1(3つの1と3つの0)です

このためのコードは-

になります
const arr = [1, 0, 0, 1, 0, 1, 0, 0];
const findMaxLength = (arr = []) => {
   const { length } = arr;
   if (length < 2){
      return 0
   };
   const map = new Map();
   map.set(0, -1);
   let sum = 0;
   let max = 0;
   for (var i = 0; i < length; i++) {  
      sum += arr[i] === 0 ? -1 : 1;
      if (map.has(sum)) {
         max = Math.max(max, i - map.get(sum));
      } else {
         map.set(sum, i);
      };
   };
   return max;
};
console.log(findMaxLength(arr));

コードの説明

ここでは、0を-1、1を1と考え、さまざまなウィンドウの合計を計算しました。合計が0の場合、サブ配列は同じ数の0と1でなければならないことがわかりました。

出力

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

になります
6

  1. JavaScriptとCSSを使用したエフェクトの入力と削除

    CSSアニメーションの助けを借りて、JavaScriptを使用してタイプライターの入力および削除効果を作成できます。 次の例は、この効果を示しています。 例 <!DOCTYPE html> <html> <style> div {    display: flex;    margin: 4%;    padding: 2%;    box-shadow: inset 0 0 12px blue; } p {    font-family: "Co

  2. JavaScriptでCSS変数を取得および設定する

    getComputedStyle()メソッドは、ターゲット要素に適用されたすべてのスタイルを含むオブジェクトを提供します。 getPropertyValue()メソッドは、計算されたスタイルから目的のプロパティを取得するために使用されます。 setProperty()は、CSS変数の値を変更するために使用されます。 例 次の例は、JavaScriptを使用してCSS変数を取得および設定する方法を示しています。 <!DOCTYPE html> <html> <head> <style> :root {    --outerCo