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

厳密に増加するシーケンスJavaScript


整数のシーケンスを配列として指定すると、配列から1つの要素のみを削除することで、厳密に増加するシーケンスを取得できるかどうかを判断する必要があります。

例-

sequence =[1、3、2、1]の場合、出力はfunction(sequence)=falseである必要があります。この配列には、厳密に増加するシーケンスを取得するために削除できる要素は1つもありません。

sequence =[1、3、2]の場合、出力はfunction(sequence)=trueである必要があります。配列から3を削除して、厳密に増加するシーケンス[1、2]を取得できます。または、2を削除して、厳密に増加するシーケンス[1、3]を取得することもできます。

厳密に増加するシーケンス

これは、後続のすべての数値が先行する数値よりも大きい数値の配置を表す数学用語です。これ以外に、後続の要素が先行する要素以上になるシーケンスが増加しています。

同じ論理が、減少するシーケンスと厳密に減少するシーケンスにも当てはまります。

アプローチ

配列をループして、後続の要素が先行する要素よりも大きいかどうかを確認します。大きい場合は問題ありませんが、大きくない場合は(厳密に増加するシーケンスを形成するため、大きくなければならず、等しくない必要があることを忘れないでください)、不要な要素の数を保持し、毎回1ずつ増やします。これが起こる時間。

反復中にカウントが1を超えると、falseが返されます。それ以外の場合は、unknownElements <=1で全体を調べた場合、trueが返されます。

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

const isStrictlyIncreasing = (arr) => {
   let unwantedElements = 0;
   for(let i = 0; i < arr.length - 1; i++){
      if(arr[i] >= arr[i+1]){
         unwantedElements++;
         if(unwantedElements > 1){
            return false;
         };
      };
   };
   return true;
};
console.log(isStrictlyIncreasing([1, 3, 2, 1]));
console.log(isStrictlyIncreasing([1, 3, 2]));

出力

コンソールの出力は-

になります
false
true

  1. JavaScriptで2つのシーケンスを増やす

    厳密に増加するシーケンス シーケンスは厳密に増加しています arr [0]

  2. JavaScriptで配列を昇順に変換する

    シーケンスの増加 (0 <=i <=n-2)のようにすべてのi(0ベース)に対してarr [i] <=arr [i + 1]が成り立つ場合、配列を増加として定義します。 問題 最初で唯一の引数として、整数の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、配列の最大1つの要素を変更することで、この配列を増加する配列に変換できるかどうかを判断する必要があります。 そうすることができれば、trueを返し、そうでない場合はfalseを返す必要があります。 たとえば、関数への入力が 入力 const arr = [8, 3, 3, 7, 9]; 出力