-
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まで
-
与えられた配列との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++プログラム
その桁の合計は、数値の数字根を見つけることができます。合計が1桁の場合、それは数字根です。このチュートリアルでは、数値の範囲と整数Xが与えられ、その範囲内の数字の数をXとして数える必要がある問題について説明します。たとえば、Xは1桁の数値です Input: l = 13, r = 25, X = 4 Output: 2 Explanation: Numbers in the range (13,25) having digit sum 4 are 13 and 22. Input: l = 11, r = 57 Output: 6 解決策を見つけるためのアプローチ シンプルなアプローチ 簡
-
C++を使用した少なくとも1つの空でないサブ配列のビットごとのANDである数値
配列が与えられ、ビット単位であり、少なくとも1つの空でないサブ配列のANDである可能性のあるすべての整数を見つける必要がある問題を解決するには、たとえば- Input : nums[ ] = { 3, 5, 1, 2, 8 } Output : { 2, 5, 0, 3, 8, 1 } Explanation: 2 is the bitwise AND of subarray {2}, 5 is the bitwise AND of subarray {5}, 0 is the bitwise AND of subarray {1, 2}, {2, 8} and {1, 2, 8}, 3 is
-
最大の分割可能なペアサブセットを見つけるためのC++プログラム
個別の要素で構成される配列が与えられる問題を解決するため。ここでのタスクは、すべてのペアが均等に分割できるようにサブセットを見つけることです。つまり、たとえば、すべての大きな要素がすべての小さな要素で分割可能です。 Input : arr[] = {10, 5, 3, 15, 20} Output : 3 Explanation: The largest subset is 10, 5, 20. 10 is divisible by 5, and 20 is divisible by 10. Input : arr[] = {18, 1, 3, 6, 13, 17} Output : 4 E
-
配列内で最大の分割可能なサブセットを見つけるためのC++プログラム
このチュートリアルでは、異なる正の整数の配列が与えられる問題について説明します。すべてのペアについて、大きい要素が小さい要素で除算されるような最大のサブセットを見つける必要があります。たとえば、- Input: nums[ ] = { 1, 4, 2, 6, 7} Output: 1 2 4 Explanation: All Divisible subsets are: (1, 2, 4), (1, 2, 6), (1, 7), etc We have 2 subsets of length 3 in which all the pairs satisfy the condition. In
-
1と0の数が等しいC++最大のサブツリー
二分木が与えられます。ここで、1と0の数が等しい最大のサブツリーを見つける必要があります。ツリーには0と1のみが含まれます。 解決策を見つけるためのアプローチ このアプローチでは、すべてのノードを0から-1の値に置き換えます。これを行うと、合計が0に等しい最大のサブツリーを見つける必要があるため、プログラムが簡単になります。 例 上記のアプローチのC++コード #include <iostream> using namespace std; int maxi = -1; struct node { // structure of our tree node &n
-
すべてのペアの合計を素数とするC++最大のサブセット
すべてのペアの合計が素数である、指定された配列から最大のサブセットを見つけること。最大要素が100000であると仮定すると、たとえば- Input: nums[ ] = { 3, 2, 1,1 } Output: size = 3, subset = { 2, 1, 1 } Explanation: Subsets can be formed: {3, 2}, {2, 1} and { 2, 1, 1}, In {2, 1, 1} sum of pair (2,1) is 3 which is prime, and the sum of pairs (1,1) is 2 which is al
-
二分木のC++ペアワイズスワップリーフノード
二分木が与えられます。タスクは、リーフノードをペアワイズスワップすることです。たとえば、- 入力- 出力- 隣接する2つのリーフノードを指す2つのポインターを追跡し、特定の問題でそれらの値を交換します。 解決策を見つけるためのアプローチ このアプローチでは、ツリーをトラバースし、リーフノードを見つけ、カウンターを追跡して現在のカウントを確認します。主なトリックは、カウンターが奇数であるため、最初のポインターがそのノードを指していることです。カウンターが均等になると、データが交換されるため、リーフノードが交換されます。 例 上記のアプローチのC++コード #includ
-
特定のリンクリストのC++ペアワイズスワップ要素
たとえば、リンクリストに存在するペアワイズノードを交換してから印刷する必要があるという問題を解決するには Input : 1->2->3->4->5->6->NULL Output : 2->1->4->3->6->5->NULL Input : 1->2->3->4->5->NULL Output : 2->1->4->3->5->NULL Input : 1->NULL Output : 1->NULL ソリューションにアプローチする方
-
特定の基数のC++パンデジタル数
0から基数Bまでのすべての桁を含む数値は、その基数のパンデジタル数と呼ばれます。ただし、一部の数値は1から9までの数字を持ち、ゼロレスパンデジタル数と呼ばれます。パンデジタル数の例としては、0123456789、0789564312などがあります。 このチュートリアルでは、数値と底が与えられている問題について説明します。たとえば、-のように、その数が与えられた底でパンデジタルであるかどうかを確認する必要があります。 Input: num = “9651723467380AZ”, base = 10 Output: YES Explanation: num contai
-
C ++は、指定された値の周りにリンクリストを分割し、元の順序を維持します
このチュートリアルでリンクリストが与えられた場合、リストの最初にx未満のすべての数値を保持し、最後に他の数値を保持する必要があります。また、以前と同じ順序を維持する必要があります。たとえば Input : 1->4->3->2->5->2->3, x = 3 Output: 1->2->2->3->3->4->5 Input : 1->4->2->10 x = 3 Output: 1->2->4->10 Input : 10->4->20->10->3 x =
-
C++は数値を2つの分割可能な部分に分割します
この問題では、数値として解釈できる文字列が与えられます。次に、最初の部分がAで割り切れ、2番目の部分がBで割り切れる(2つの整数が与えられる)ように、文字列を2つの部分に分割する必要があります。例- Input : str = "123", a = 12, b = 3 Output : YES 12 3 "12" is divisible by a and "3" is divisible by b. Input : str = "1200", a = 4, b = 3 Output : YES 12 00 I
-
最大ベンド数のC++パス長
二分木が与えられる問題を解決するため。次に、曲がりの数が最大のパスを見つける必要があります。つまり、パスの方向が左から右に、またはその逆に変化する場合、たとえば、曲がりが考慮されます 入力- 出力- 6 このアプローチでは、ツリーをトラバースして、以前の動きを追跡します。方向が変わった場合は、曲げカウントを更新するだけで、最大値が見つかります。 解決策を見つけるためのアプローチ このアプローチでは、すべてのパスをトラバースし、回答を更新するベンドの最大数を見つけます。 例 #include <bits/stdc++.h> using namespace std; s
-
最大平均値を持つC++パス
この問題で2D行列が与えられ、最大平均値を持つパスを見つける必要があります。パスの場合、ソースは左上のセルで、宛先は右下のセルです(例:-)。 Input : Matrix = [1, 2, 3 4, 5, 6 7, 8, 9] Output : 5.8 Path with maximum average is, 1 -> 4 -> 7 -> 8 -> 9 Sum of the path is 29 and average is 29/5 = 5.8 この問題では、右または下にのみ移動できます。これにより、N-1を右に移動し、N-1を下に移動して目的地に到達する必要が
-
C++五胞体数
五胞体数は、パスカルの三角形の5番目の数として表されます。ご存知のように、これは5番目の数字です。つまり、パスカルの三角形に少なくとも5つの数字が必要です。したがって、このシリーズの最初の数字は 1 4 6 4 1から始まります。 パスカルの三角形の4行目。したがって、このチュートリアルでは、たとえば、n番目の五胞体数を見つける必要があります Input : 1 Output : 1 Input : 4 Output : 35 次の図から出力を確認できます- この問題については、可能な限り、これは一種のシリーズであるため、ソリューションでこのシリーズのパターンを見つけようと
-
ヴァリニョンの平行四辺形のC++の周囲長と面積
ヴァリニョンの平行四辺形は、四辺形の各辺の中点を結合することによって形成されます。四辺形のABCDがあるとします。各辺の中点はP、Q、R、Sです。すべての中点を接続すると、常にヴァリニョンの平行四辺形と呼ばれる平行四辺形PQRSが形成されます。 このチュートリアルでは、与えられた2つの対角線と四辺形の面積を使用して、ヴァリニョンの平行四辺形の周囲と面積を見つける方法について説明します。たとえば、- Input: d1 = 6, d2 = 9, Area = 12 Output: Perimeter = 15 Area = 6 Input: d1 = 11, d2 = 13, Area
-
別の配列からの値が小さい配列のC++順列
B [I]のインデックスが最大化されるように、Aの順列を出力する必要があります。たとえば Input: A = [12, 22, 41, 13], B = [1, 20, 10, 12] Output: 12, 22, 41, 13 Input: A = [2, 5, 9, 7], B = [1, 12, 4, 54] Output: 2 7 5 9 Multiple answers can be present in that case we are simply going to print any one of the answers. B [i]のインデックスを最大化する必要があ
-
STLを使用した特定の文字列のC++順列
文字列の順列は、指定された文字列の文字が任意の形式で再配置されたときに形成されます。このチュートリアルでは、たとえば、C++の標準テンプレートライブラリを使用して、特定の文字列のすべての順列を出力する方法について説明します。 Input : s = “ADT” Output : “ADT”, “ATD”, “DAT”, “DTA”, “TAD”, “TDA” Explanation : In the given output
-
k個の物を一緒に一度にr個取ったn個の物のC++順列
n、r、kが与えられた場合、たとえば、特定のk個の物が常に一緒に発生するように、nからr個の物を選択する方法を見つける必要があります。 Input : n = 8, r = 5, k = 2 Output : 960 Input : n = 6, r = 2, k = 2 Output : 2 この問題は、k個のものが一緒になるようなnとrの順列を見つけることを求めているため、この問題について少し知識が必要です。 解決策を見つけるためのアプローチ この質問の公式を作成する必要があります。そうすれば、答えが得られます。 例 #include <bits/stdc++.h>