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 }
-
与えられた配列との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
-
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まで