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

JavaScriptで合計が特定の数である配列内の2つの数を見つける最良の方法は?


次の配列が私たちの配列だとしましょう-

var numbers = [10,3,40,50,20,30,100]

上記の配列要素から合計が80の2つの数値を検索する必要があります。

これには、if条件を使用した単純なforループを使用します。

function specificPairsOfSumOfTwoNumbers(numbers, totalValue)
   {
      var storeTwoNumbersObject = {}
      for(var currentNumber of numbers)
      {
         if(storeTwoNumbersObject[currentNumber])
         {
            return {
               firstNumber: totalValue-currentNumber, secondNumber:currentNumber}
            }
            storeTwoNumbersObject[totalValue-currentNumber] = true;
         }
         return false;
   }
   var numbers = [10,3,40,50,20,30,100]
   console.log("The Two numbers which has the sum 80=");
   console.log(specificPairsOfSumOfTwoNumbers(numbers, 80)
)

上記のプログラムを実行するには、次のコマンドを使用する必要があります-

node fileName.js.

ここで私のファイル名はdemo207.jsです。

出力

これにより、次の出力が生成されます-

PS C:\Users\Amit\javascript-code> node demo207.js
The Two numbers which has the sum 80=
{ firstNumber: 50, secondNumber: 30 }

  1. 与えられた配列とのXOR和が与えられた数kである数を見つけるためのC++プログラム

    たとえば、与えられた数を、その数を持つ特定の配列のXOR合計がkに等しくなるような数を見つけるという問題を解決するために。 Input: arr[] = {1, 2, 3, 4, 5}, k = 10 Output: 11 Explanation: 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 11 = 10 Input: arr[] = { 12, 23, 34, 56, 78 }, k = 6 Output: 73 このプログラムでは、A ^ B=CおよびA^C =Bの場合にxorのプロパティを使用し、これをこの問題に適用します。 解決策を見つけるためのアプローチ このアプローチでは、xo

  2. C ++を使用して、指定された配列範囲のXORの合計が最大になる数を見つけます

    配列といくつかのクエリが与えられる問題を解決するため。各クエリで、範囲が指定されます。ここで、たとえば、xorとxの合計が最大になるような数を見つける必要があります Input : A = {20, 11, 18, 2, 13} Three queries as (L, R) pairs 1 3 3 5 2 4 Output : 2147483629 2147483645 2147483645 この問題では、1の数を事前に計算したので、各位置の数に存在する1のプレフィックスカウントを取得します。したがって、LからRまでの特定の範囲の1の数を見つけるには、次のことを行う必要があります。 Rまで