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

サブアレイJavaScriptの合計として表すことができない最小の正の値


このような正の整数のソートされた配列があります-

const arr = [1, 3, 6, 10, 11, 15];

このような配列を1つ取り込んで、この元の配列のサブ配列の合計として表すことができない最小の正の整数を返す関数、たとえばfindSmallest()を作成する必要があります。

例-

上に書かれたこの配列の場合、2は、この元の配列のサブ配列を合計しても到達できない最小の正の整数です。それでは、この関数のコードを書いてみましょう。配列が並べ替えられると、線形時間でこの問題の解決策を達成できます。最初は、必要な数は1であると考えています。これは、1が取ることができる最小の値であるためです。配列を反復処理し、対応する要素を必要な数に追加し続けます。

いずれかの反復で、対応する数が必要な数よりも大きい場合は、必要な数が見つかったことを意味します。それ以外の場合は、反復を続けます。

const arr = [1, 3, 6, 10, 11, 15];
const findSmallest = arr => {
   let res = 1;
   for(let ind = 0; ind < arr.length && arr[ind] <= res; ind++){
      res += arr[ind];
   }
   return res;
};
console.log(findSmallest(arr));

出力

コンソールの出力は-

になります
2

  1. JavaScriptを使用した循環配列の最大サブ配列合計

    問題 最初で唯一の引数として、整数の配列arrを受け取るJavaScript関数を作成する必要があります。 この配列arrは循環配列と見なすことができます。つまり、配列の最後の要素の後に最初の要素が続きます。この関数は、空でないarrのサブ配列の可能な最大合計を見つけて返す必要があります。 たとえば、関数への入力が 入力 const arr = [2, -2, 3, -1]; 出力 const output = 4; 出力の説明 目的のサブアレイは[3、-1、2]であるため 例 const arr = [2, -2, 3, -1]; const maxSubarraySum

  2. Pythonで特定の配列のサブセットの合計として表すことができない最小の正の整数値を見つけます

    正の数の並べ替えられた配列があるとすると、この配列は昇順で並べ替えられます。指定されたサブセットの要素の合計として表すことができない最小の正の値を見つける必要があります。セットする。この問題はO(n)時間で解決する必要があります。 したがって、入力がA =[1、4、8、12、13、17]の場合、出力は2になります。 これを解決するには、次の手順に従います- n:=Aのサイズ 答え:=1 0からnの範囲のiの場合、実行 A [i] <=答えの場合、 回答:=回答+ A [i] それ以外の場合 ループから出てきます 回答を返す