-
C++を使用してXORがゼロである一意のトリプレットの数を見つける
この記事では、XORが0である一意の数の特定の配列内の一意のトリプレット(x、y、z)の数をカウントする方法について説明します。したがって、トリプレットは、3つの要素すべてが一意であり、すべてをカウントする一意である必要があります。たとえば、トリプレットの組み合わせ- Input : arr[ ] = { 5, 6, 7, 1, 3 } Output : 2 Explanation : triplets are { 5, 6, 3 } and { 6, 7, 1 } whose XOR is zero. Input : arr[ ] = { 3, 6, 8, 1, 5, 4 , 12} Ou
-
C ++を使用して、グリッド内のあるポイントから別のポイントに移動する方法の数を見つけます
この記事では、ポイントAからBまでの合計ウェイ数を見つける必要があるという質問があります。ここで、AとBは固定ポイントです。つまり、Aはグリッドの左上のポイントで、Bは下のポイントです。たとえば、グリッドの右点- Input : N = 5 Output : 252 Input : N = 4 Output : 70 Input : N = 3 Output : 20 与えられた問題では、簡単な観察によって答えを形式化し、結果を得ることができます。 解決策を見つけるためのアプローチ このアプローチでは、グリッドをAからBに移動するには、右方向にn回、下方向にn回移動する必要があるという
-
C++式から無効な括弧を削除する
括弧のシーケンスが与えられます。ここで、たとえば、無効な括弧を削除することによって作成できるすべての可能な括弧を印刷する必要があります Input : str = “()())()” - Output : ()()() (())() There are two possible solutions "()()()" and "(())()" Input : str = (v)())() Output : (v)()() (v())() この問題では、すべての有効なシーケンスを出力するようにバックトラッキングを使用します。 解決
-
C++を使用して数字の合計が偶数の数を見つける
完全に2で割ることができる整数は偶数です。したがって、この記事では番号nが与えられており、数字の合計が偶数のn番目の番号を見つける必要があります。数字の合計が偶数の最初の5つの数字は、2、4、6、8、および11です。たとえば、- Input : n = 5 Output : 11 Explanation : First 5 numbers with even sum of digits are 2, 4, 6, 8, 11 i.e 5th number is 11. Input : 12 Output : 24 解決策を見つけるためのアプローチ これで、特定の問題の解決策を見つけるための2
-
C ++は、長さがK未満のルートからリーフへのパス上のノードを削除します
たとえば、ツリーが与えられ、与えられたkよりも短い長さのパスのリーフノードを削除する必要があります。 入力- K = 4. 出力- 説明 The paths were : 1. A -> B -> C -> E length = 4 2. A -> B -> C -> F length = 4 3. A -> B -> D length = 3 4. A -> G -> H length = 3 5. A -> B -> I length = 3 Now as you can see paths 3, 4,
-
C ++で最大値を取得するには、2進数から1ビットを削除します
2進数が与えられる問題について話し合います。たとえば、残りの数が他のすべてのオプションの最大値になるように、少し削除する必要があります。 Input : N = 1011 Output: 111 Explanation: We need to remove one bit so removing 0 bit will give a maximum number than removing any 1’s bit. 111 > 101, 011. Input: 111 Output: 11 Explanation: Since all the bits are 1 so we
-
C++で禁止文字を削除する関数
[‘:’、‘?などの禁止文字を削除する関数を削除する方法について話し合います。 ‘、‘ \’、‘ /’、‘ ’、‘ | ’、‘ *’]たとえば、文字列から Input: str = “ Hello: Welco*me/ to Tu>torials point|. ” Output: “ Hello Welcome to Tutorials point. ” Explanation: Input String contains forbidden characters which got removed and new string has
-
C ++を使用して、L番目とR番目のインデックスの間でのみビットが設定されている数値を検索します
与えられた問題では、与えられた範囲L、Rの間に設定されたすべてのビットを持つ数値を見つける必要があります。たとえば、- Input: L = 1, R = 5 Output: 62 Explanation: representation of given L and R in binary form is 0..0111110 Input: L = 1, R = 4 Output: 30 Explanation: representation of given L and R in binary form is 0..11110 解決策を見つけるためのアプローチ 与えられた問題では、ブルー
-
与えられた点のセットをC++で可能な限り最良の直線で表す
可能な限り最良の直線で点のセットを表す方法について話し合います。一連の点の値(x、y)が与えられ、最適な直線y =mx + cを見つける必要があります。したがって、必要なのは、たとえばmとcの値を見つけることだけです。 Input: no_of_points = 4 x1 = 2, y1 = 3, x2 = 5, y2 = 6, x3 = 1, y3 = 3, x4 = 4, y4 = 5. Output: m = 0.8, c = 1.85 Explanation: If we apply the value of m and c in the equation y = mx + c fo
-
C ++を使用して、[2、10]の範囲の数値で割り切れない数値を見つけます
この記事では、2から10までのどの数でも割ることができない1からn(与えられた)までの数を見つける問題について説明します。いくつかの例でこれを理解しましょう- Input : num = 14 Output : 3 Explanation: There are three numbers, 1, 11, and 13, which are not divisible. Input : num = 21 Output : 5 Explanation: There are five numbers 1, 11, 13, 17, and 19, which are not divisible. 解
-
C++で可能な素数の最大数の合計として数値を表す
数Nが与えられ、この数を最大素数の合計に分割する必要がある問題について話し合います。たとえば、 Input: N = 7 Output: 2 2 3 Explanation: 7 can be represented as the sum of two 2’s and a 3 which are the maximum possible prime numbers. Input : N = 17 Output: 2 2 2 2 2 2 2 3 解決策を見つけるためのアプローチ 素数で数を表すために、Nで素数を引き、素数の差をチェックすることができます。差が素数の場合、Nを2つの
-
C++で可能な最小の疑似2進数の合計として数値を表す
このチュートリアルでは、最小の疑似2進数の合計としての数値の表現について説明します。疑似2進数は、0と1の2進数のみで構成される番号です。疑似2進数の例としては、00、11、10、100、111、1011などがあります。 以下は、疑似2進数の合計として表される数値の例です。 Input : 23 Output : 11 + 11 + 1 Explanation : 23 = 11 + 11 + 1, sum of pseudo-binary numbers(11, 11, 1) is 23. Input : 50 Output : 10 + 10 + 10 + 10 + 10 解決策を見つ
-
他の累乗での数値のC++表現
別の数の累乗で数を表す問題について話し合います。 xとyの2つの数字が与えられます。たとえば、yをxの累乗で表すことができるかどうかを判断する必要があります。たとえば、xの各累乗を1回使用できます。 Input: x = 4, y = 11 Output: true Explanation: 4^2 - 4^1 - 4^0 = 11 Hence y can be represented in the power of x. Input: x = 2, y = 19 Output: true Explanation: 2^4 + 2^1 + 2^0 =19 Hence y can be rep
-
C ++を使用して、行列内の指定された合計を持つペアを検索します
この記事では、与えられた行列で与えられた合計を持つペアを見つけるプログラムについて説明します。例- Input : matrix[n][m] = { { 4, 6, 4, 65 }, { 56, 1, 12, 32 }, { 4, 5, 6, 44 }, { 13, 9, 11, 25 } }, SUM = 20 Output : Pair exists. Explanation : Sum = 20 is equal to the sum of numbers 9 and 11 w
-
C ++を使用して、行列内の合計が最大のペアを見つけます
この記事では、特定の行列または2次元配列で合計が最大のペアを見つける方法について説明します。例 Input : matrix[m][n] = { { 3, 5, 2 }, { 2, 6, 47 }, { 1, 64, 66 } } Output : 130 Explanation : maximum sum is 130 from element pair 64 and 66. Input : matrix[m][n] = { { 55, 22, 46 }, {
-
C ++を使用して、配列内の正の負の値のペアを検索します
この記事では、個別の要素を含む配列があります。配列内の正と負の値のペアを同じ絶対値で出力し、例としてソートされた順序で出力する必要があります- Input : arr[] = { 1, -1, 11, 12, 56, 77, -56, -12, -88} Output : -1 1 -12 12 -56 56 Input : arr[] = {30, 40, 50, 77, -51, -50, -40} Output : -40 40 -50 50 解決策を見つけるためのアプローチ 私たちの頭に浮かぶ最初のアプローチはブルートフォースアプローチであり、私たちは効率的なアプローチと呼ばれる別
-
C++での符号なし整数の除算アルゴリズムの復元
除算アルゴリズムを使用して符号なし整数を除算する方法について説明します。一部の除算アルゴリズムは紙に適用され、その他はデジタル回路に実装されます。除算アルゴリズムには、低速除算アルゴリズムと高速除算アルゴリズムの2種類があります。低速除算アルゴリズムには、復元、非実行復元、SRT、および非復元アルゴリズムが含まれます。 このチュートリアルでは、0<除数<被除数を想定した復元アルゴリズムについて説明します。 解決策を見つけるためのアプローチ ここでは、レジスタQを使用して商を格納し、レジスタAを使用して剰余を格納し、Mを使用して除数を格納します。 Aの初期値は0に保たれ、その値が復元されます
-
C++は拡張マトリックスの前の要素を返します
マトリックスの拡張に基づいて問題について話し合います。展開行列は、サイズが一定の係数で連続的に増加する行列です。 ここに、サイズが2倍に拡大している文字の行列があります。つまり、行列の元のサイズがN * Nの場合、拡大された行列のサイズは2N*2Nになります。 (i、j)に存在する文字のシーケンスが与えられ、(i、(j --N --1)%N)に存在する文字のシーケンスを返す必要があります。 初期の拡張マトリックスを視覚化して理解しましょう Given Matrix -> [ a, b ] [ c, d ], 2 X 2 matrix Multiplying with { a, b,
-
C++キューを使用してBSTのパスを逆にする
たとえば、二分探索木が与えられ、特定のキーからそのパスを逆にする必要があります。 解決策を見つけるためのアプローチ このアプローチでは、キューを作成し、ルートを取得するまですべてのノードをプッシュします。 例 #include <bits/stdc++.h> using namespace std; struct node { int key; struct node *left, *right; }; struct node* newNode(int item){ struc
-
C++を使用して0の内側の1のパターンを見つける
この記事では、いくつかの行といくつかの列の値が与えられています。 1が最初の行、最初の列、最後の行、最後の列に印刷され、0が残りの要素に印刷されるように、ボックスパターンを印刷する必要があります。例- Input : rows = 5, columns = 4 Output : 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 Input : rows = 8, columns = 9 Output : 1