-
特定の二分木で最大のBSTサブツリーを検索します-C++で1を設定します
この問題では、二分木BTが与えられます。私たちのタスクは、特定のバイナリツリーで最大のBSTサブツリーを見つけることです。 。 バイナリツリーは、データストレージの目的で使用される特別なデータ構造です。二分木には、各ノードが最大2つの子を持つことができるという特別な条件があります。 二分探索木(BST)は、すべてのノードが以下のプロパティに従うツリーです- 左側のサブツリーのキーの値は、その親(ルート)ノードのキーの値よりも小さくなっています。 右側のサブツリーのキーの値は、その親(ルート)ノードのキーの値以上です。 問題を理解するために例を見てみましょう 入力:
-
C++で与えられた数Nの約数で最大の良い数を見つけます
この問題では、数Nが与えられます。私たちのタスクは、与えられた数Nの約数で最大の適切な数を見つけることです。 。 かなりの数2です。 問題を理解するために例を見てみましょう Input : N = 15 Output : 15 説明 − Divisors of 15 : 1, 3, 5, 15. ソリューションアプローチ この問題の簡単な解決策は、Nのすべての約数を見つけることです。そして、その数のすべての素数の約数の積として抽出される最大の良い数を見つけます。 例 ソリューションの動作を説明するプログラム #include <bits/stdc++.h> usin
-
C ++で2、3、5の最大の倍数を見つける
この問題では、1桁のみで構成されるサイズNの配列arr[]が与えられます。私たちの仕事は、 2、3、5の最大の倍数を見つけることです 。 問題を理解するために例を見てみましょう Input : arr[] = {1, 0, 5, 2} Output : 510 説明 − The number 510 is divisible by all 2, 3, 5. ソリューションアプローチ この問題の簡単な解決策は、作成された数の基本的な除算性をチェックすることです。 したがって、数値を2と5で割り切れる必要がある場合、つまり10で割り切れる必要がある場合、10で割り切れる数値を作成する
-
C++の二重リンクリストで最大のノードを検索します
この問題では、二重連結リストLLが与えられます。私たちのタスクは、二重リンクリストで最大のノードを見つけることです。 。 問題を理解するために例を見てみましょう Input : linked-list = 5 -> 2 -> 9 -> 8 -> 1 -> 3 Output : 9 ソリューションアプローチ この問題を解決する簡単な方法は、リンクリストをトラバースし、maxのデータ値がmaxValのデータより大きいかどうかを確認することです。リンクリストをトラバースした後、macValノードのデータを返します。 例 ソリューションの動作を説明するプログラム
-
C++で指定された桁数と桁数の合計で最大の数値を検索します
この問題では、2つの整数値が与えられます。Nは数値の桁数を示し、sumは数値の桁の合計を示します。私たちのタスクは、指定された桁数と桁数の合計で最大の数を見つけることです 。 問題を理解するために例を見てみましょう Input : N = 3, sum = 15 Output : 960 ソリューションアプローチ この問題を解決する簡単な方法は、N桁の数字すべてを最大から最小までトラバースすることです。合計が数値を返すのと等しい場合は、数字の合計数を見つけます。 例 ソリューションの動作を説明するプログラム #include <iostream> using namespa
-
C++でn個のセットビットとm個のアンセットビットを持つ最大数を検索します
この問題では、nとmの2つの整数値が与えられます。私たちのタスクは、n個のセットビットとm個のアンセットビットを持つ最大数を見つけることです。 数値の2進表現で。 問題を理解するために例を見てみましょう Input : n = 3, m = 1 Output : 14 説明 − Largest number will have 3 set bits and then 1 unset bit. (1110)2 = 14 ソリューションアプローチ この問題の簡単な解決策は、(n + m)個のセットビットで構成される数を見つけることです。この数値から、末尾(LSB)からmビットをオフに切り
-
C++のソートされていない配列で最大のペアの合計を見つけます
この問題では、N個のソートされていない要素で構成されるarr[]が与えられます。私たちのタスクは、並べ替えられていない配列で最大のペアの合計を見つけることです。 。 合計が最大のペアを見つけます。 問題を理解するために例を見てみましょう Input : arr[] = {7, 3, 9, 12, 1} Output : 21 説明 − Pair with largest sum, (9, 12). Sum = 21 ソリューションアプローチ この問題の簡単な解決策は、配列の最大要素と2番目の最大要素のペアを作成することです。 このために、配列のmax要素とsecondMax要素
-
C++で配列内の最大の3つの要素を検索します
この問題では、N個のソートされていない要素で構成されるarr[]が与えられます。私たちのタスクは、配列内の最大の3つの要素を見つけることです。 。 問題を理解するために例を見てみましょう Input : arr[] = {7, 3, 9, 12, 1} Output : 12, 9, 7 ソリューションアプローチ 基本的に、配列の最大の3つの要素を見つけて、それらを出力する必要があります。これは複数の方法で実行できます 方法1 最大の3つの要素について、それらの値を保持する3つの要素、 max、max2、およびmax3 を作成します。 これらの値をarr[0]に設定します。 1からn
-
C++で指定された範囲で最大の双子を見つけます
この問題では、lValueとhValueの2つの値が与えられます。私たちの仕事は、与えられた範囲で最大の双子を見つけることです 。 2つの数が両方とも素数であり、それらの差が2である場合、2つの数は双子の数であると言われます。 問題を理解するために例を見てみましょう Input : lValue = 65, rValue = 100 Output : 71, 73 ソリューションアプローチ この問題の簡単な解決策は、rValue-2からlValueにループし、iと(i + 2)の各ペアで双子をチェックし、最初に発生した双子を出力することです。 別のアプローチ 範囲内のすべての素数を見
-
C++での棚のフィッティングの問題
この問題では、壁の長さW、棚のサイズn、およびmを示す3つの整数値W、n、mが与えられます。私たちのタスクは、フィッティングシェルフの問題を解決するプログラムを作成するです。 。 棚板を取り付けた後に残るスペースが最小限になるように、棚板を取り付ける方法を見つける必要があります。解決中の二次的な制約は製造コストです。棚が大きいほど費用効果が高いため、優先順位を付ける必要があります。 出力は次の形式である必要があります nサイズの棚の数残りのmサイズの棚の数 問題を理解するために例を見てみましょう Input: W = 12, n = 5, m = 3 Output: 0 4 0
-
C++でのFizzBuzzの実装
この問題では、 Fizz-Bizzの実装とタイプを確認します。 問題。 フィズバズ −これは、プログラマーが3の倍数すべてのオカレンスを「 Fizz」で変更する単純なプログラミングの問題です。 」および5by「バズ」のすべての倍数 ’は1から100までの数字です。 問題を理解するために例を見てみましょう 1, 2, 'Fizz', 4, 'Buzz', 'Fizz' , 7, 8, 'Fizz' , 'Buzz', 11, 'Fizz' , 13, 14, 'Fizz Buzz'
-
C++でマルチレベルリンクリストをフラット化する
この問題では、マルチレベルのリンクリストが提供されます。私たちの仕事は、マルチレベルのリンクリストをフラット化するプログラムを作成することです。 平坦化操作は、リンクリストで最初に第1レベルのノードが発生し、次に第2レベルのノードが発生するように実行されます。 マルチレベルリンクリスト は多次元データ構造であり、リンクリストのすべてのノードに2つのリンクポインタがあります。1つは次のノードへのリンクで、もう1つは1つ以上のノードを持つ子リストへのリンクです。この子ポインタは、他のリストノードを指している場合とそうでない場合があります。 例 問題を理解するために例を見てみましょう
-
C++でのリンクリストのフラット化
この問題では、右と下の2つのポインタノードで構成されるリンクリストが表示されます。 右ノード はメインのリンクリストポインタです。 ダウンノード そのノードで始まるセカンダリリンクリスト用です。 リンクリストはすべて並べ替えられています。 私たちのタスクは、リンクリストをフラット化するプログラムを作成することであり、結果のリスト自体がソートされたリストになります。 問題を理解するために例を見てみましょう 入力 出力 1-> 9-> 8 -> 4 -> 6-> 7-> 2-> 3-> 5 ソリューションアプロー
-
C++での質素な数
この問題では、正の整数Nが与えられます。私たちのタスクは、与えられた数が質素な数であるかどうかをチェックするプログラムを作成することです。 不正な番号 −指定された数の素因数分解の桁数よりも厳密に桁数が多い数。 例 − 625、数625の素因数は5 4です。 。 625の桁数は3です。 5 4の桁数 は2です。 3は厳密に2より大きくなります。したがって、625は質素な数です。 最初のいくつかの質素な数は − 125、128、243、256、343、512、625など。 問題を理解するために例を見てみましょう Input: n = 128 Output: Frugal n
-
C++で許可されている1つの石の除去を伴うニムのゲーム
ニムのゲームと呼ばれるこの問題では 、石の山を示す正の整数Nが与えられ、2人のプレーヤーがいます「playerA」 および「playerB」 。私たちの仕事は、ゲームオブニムの勝者を予測するプログラムを作成することです。 ニムのゲーム −石の山と2人のプレーヤーがいます「playerA」 および「playerB」 。 「playerA」の場合、各プレーヤーはヒープから1つのストアを選択できます。 ヒープから1つの石を選び始めます。ゲームの勝者を予測する必要があります。ヒープから石を最後に選んだプレーヤーがゲームの勝者です。 問題を理解するために例を見てみましょう Input: N = 6
-
C++の配列に偶数回出現する最初の要素
この問題では、N個の整数値で構成される配列arr[]が与えられます。私たちのタスクは、配列に偶数回出現する最初の要素を見つけるためのプログラムを作成することです。 。条件を満たす要素が存在する場合はそれを返し、そうでない場合は falseを示す-1を返します。 。 問題を理解するために例を見てみましょう Input: arr[] = {2, 3, 7, 2, 3, 6, 4, 1, 2} Output: 3 ソリューションアプローチ この問題を解決する簡単な方法は、配列の各要素を1つずつ検討し、要素の出現頻度を均等にチェックして、配列の最初の要素を偶数の出現頻度で返すことです。この問題を
-
C ++で指定されたnの(n ^ 1 + n ^ 2 + n ^ 3 + n ^ 4)mod5の値を検索します
この問題では、値nが与えられます。私たちのタスクは、指定されたnの(n ^ 1 + n ^ 2 + n ^ 3 + n ^ 4)mod5の値を見つけることです 。 問題を理解するために例を見てみましょう Input : n= 5 Output : 0 説明 − (51 + 52 + 53 + 54) mod 5 = (5 + 25 + 125 + 625) mod 5 = (780) mode 5 = 0 ソリューションアプローチ この問題の簡単な解決策は、与えられたNの値に対する方程式の値を直接見つけて、その係数を5で計算することです。 例 ソリューションの動作を説明するプログラ
-
C++のバイナリ表現でk番目のビットの値を検索します
この問題では、2つの値nとkが与えられます。私たちのタスクは、バイナリ表現でk番目のビットの値を見つけることです。 。 問題を理解するために例を見てみましょう Input : n= 5, k = 2 Output : 0 説明 − Binary of 5 = 0101 Second LSB bit is 0. ソリューションアプローチ この問題の解決策は、すべてのビットが設定されておらず、1ビットがk番目に設定されている数値で数値Nの2進変換のビットごとのANDを実行して、結果を取得することです。 例 ソリューションの動作を説明するプログラム #include <iostre
-
C++での対
プログラミングのループ コードのブロックを複数回計算するために使用されます。ここでは、プログラム内の2種類のループ、ForループとWhileループの違いを確認します。 。 Forループ For Loopは、ユーザーが特定のコードブロックを特定の回数までループできるようにする一種の繰り返し制御ループです。 構文 for(initisation; condition; update){ …code to be repeated } ループ中 whileループは、入力制御ループの一種であり、ユーザーは、指定された条件が真になるまで、指定されたステートメント
-
C++でymod(2をxに累乗)の値を検索します
この問題では、2つの値xとyが与えられます。私たちのタスクは、 y modの値を見つけることです(2をxに累乗) 。 問題を理解するために例を見てみましょう Input : x = 2, y = 19 Output : 3 説明 − y % 2x = 19 % 22 = 19 % 4 = 3 ソリューションアプローチ この問題の簡単な解決策は、2 xの値を直接計算することです。 pow()関数を使用して、y%2 xの値を見つけます 。 この問題を解決する別のアプローチは、ログを使用することです。 y <2 xの値の場合 、余りはyです。この場合、 ログ2 y