-
C++で関係演算子を使用せずに配列の最大値を検索する
この問題では、正の値で構成されるサイズnの配列arr[]が与えられます。私たちのタスクは、関係演算子を使用せずに配列の最大値を見つけることです。 問題を理解するために例を見てみましょう 入力: arr [] ={5、1、6、7、8、2} 出力: 8 ソリューションアプローチ 論理演算子を使用せずに値を比較する必要があるためです。このために、繰り返し減算を実行する必要があります。長く続く数は大きい方になります。 ゼロになるまで、すべての値を1ずつ減らします。配列の最初の2つの値から始めて、両方の最大値を見つけます。次に、残りの配列値を配列の最大要素と比較する必要があります。こ
-
C++の行列に同じ長方形の合計を持つセルを印刷します
この問題では、行列 matが与えられます。 整数値のサイズmXnの。私たちのタスクは、行列に同じ長方形の合計を持つセルを印刷するプログラムを作成することです。 。 問題の説明: セルで開始および終了するサブマトリックスの合計が残りのすべての要素の合計と等しくなるように、マトリックス内のセルを検索します。 セルの場合、行列(a、b)サブ行列mat[0][0]からmat[a][b]およびmat[a][b]からmat[m][n]の合計は次のようになります。残りのすべての要素の合計。 問題を理解するために例を見てみましょう。 入力: mat [] [] ={{5、0、2、7} {3、0
-
指定された範囲でBSTキーを出力します-O(1)スペース(C ++)
この問題では、2つの値k1とk2(k1
-
C++で1つの文字列を別の文字列に変換するためのすべての可能な方法を印刷します
この問題では、2つの文字列str1とstr2が与えられます。 私たちのタスクは、ある文字列を別の文字列に変換するためのすべての可能な方法を印刷するプログラムを作成することです。 問題の説明: ここでは、str1をstr2に変換するために使用できるすべての方法を見つける必要があります。変換中に、3つの操作のいずれかを実行できます 挿入 削除 交換 問題を理解するために例を見てみましょう。 入力: str1 =“ kfeod” str2 =“ kfcadq” 出力 Way1:Insert q, after d. Replace c by e. Replace o by a.
-
C++の配列内のすべてのペアの合計のXORの合計
この問題では、サイズnの配列arr[]が与えられます。私たちのタスクは、配列内のすべてのペアの合計のXORの合計を見つけるプログラムを作成することです。 問題を理解するための例を見てみましょう。 入力: arr [5、7、9] 出力: 22 説明: (5 + 5)^(5 + 7)^(5 + 9)^(7 + 5)^(7 + 7)^(7 + 9)^(9 + 5)^(9 + 7) ^(9 + 9) =22 この問題の簡単な解決策は、ネストされたループを使用することです。そして、配列からすべての可能なペアを作成します。そして、各ペアの合計のXORを計算します。 アルゴリズム
-
サブセットの合計-C++での動的計画法
この問題では、サイズ2 nの配列arr[]が与えられます。 。私たちのタスクは、動的計画法を使用してサブセット全体の合計を見つけるプログラムを作成し、それを解決することです。 関数F(x)=ΣA iを計算する必要があります すべてのxに対してx&i==iとなるようにします。つまり、iはxのビット単位のサブセットです。 問題を理解するために例を見てみましょう。 入力: A [] ={5、7、1、9}、n =2 出力: 5 12 6 22 説明: n =2の場合、xには4つの値があります。 0、1、2、3です。 ここで、関数の値を計算します: F(0)=A 0 =5 F
-
級数の合計1+(1 + 3)+(1 + 3 + 5)+(1 + 3 + 5 + 7)+ ...... +(1 + 3 + 5 + 7 + ... + (2n-1))C++で
この問題では、数nが与えられます。私たちのタスクは、級数の合計を見つけるプログラムを作成することです 1 +(1 + 3)+(1 + 3 + 5)+(1 + 3 + 5 + 7)+……+(1 + 3 + 5 + 7 +…+(2n-1))。 問題を理解するために例を見てみましょう。 入力: n =5 出力: 55 したがって、質問によると、ユーザーが番号「n」を指定し、シリーズ 1 +(1 + 3)+(1 + 3 + 5)+(1 + 3 + 5 + 7)を追加する必要があるとします。 +……+(1 + 3 + 5 + 7 +…+(2n-1))。 まず、このシリーズの意味をよ
-
C++で辞書式順序ですべての最長の一般的なサブシーケンスを印刷します
この問題では、2つの文字列str1とstr2が与えられます。私たちのタスクは、すべての最長共通部分列を辞書式順序で印刷するプログラムを作成することです。 問題を理解するために例を見てみましょう。 入力: str1 =“ gfare”、str2 =“ rfare” 出力: 運賃 ソリューションアプローチ この問題では、考えられる最長共通部分列をすべて見つけて、動的計画法を使用して2D行列に格納します。この後、ソートされた出力を出力します LCSでaからzまでの文字を検索します。 ソリューションの動作を説明するプログラム 例 #include<iostream> #in
-
C++で辞書式順序で「A」と「B」の文字列として数値を出力します
この問題では、数字Nが与えられます。私たちのタスクは、辞書式順序で「A」と「B」の文字列として数字を印刷するプログラムを作成することです。 「A」と「B」の文字列としてのすべての数値の表現は 1 =A 2 =B 3 =AA 4 =AB 5 =BA 6 =BB 7 =AAA 8 =AAB 問題を理解するために例を見てみましょう。 入力: N =12 出力: BAB ソリューションアプローチ 「A」と「B」の文字列は2進数に似ています。文字列を見つけるには、まず、長さ1(サイズ2まで)の数字が2つ、長さ2(サイズ6まで)の数字が4つ、長さ3(サイズま
-
C++におけるリスク管理とパラダイムの原則
リスク管理 は、利用可能なすべてのリソースを管理し、システムで利用可能なリソースを最大限に活用するために使用されるアプローチです。 プロジェクトマネージャー すべてのカテゴリのリスクを分析し、ランタイム環境でのプロジェクトの動作にいくつかのリスクがある可能性があります。 リスク管理の原則 リスク管理には5つの基本原則があります。それらは: グローバルな視点: システムおよびビジネスの問題に関連するソフトウェアのこのリスク分析は、解決が計画されています。この分析では、より大規模なシステムの定義、設計、および実装を十分に考慮していません。 前向きな見方: この分析では、製品に対する将来の
-
C++での複数のクエリにSieveO(log n)を使用した素因数分解
この問題では、複数のクエリに対してSieve O(log n)を使用して素因数分解を計算するプログラムを作成する必要があります。 一般的な方法ではO(sqrt(n))時間がかかるため、複数のクエリから必要な時間が大幅に増加します。 最初に要約しましょう 素因数分解 数の数には素因数のみが含まれ、それらの素因数の積は含まれません。 エラトステネスのふるい は、指定された範囲内のすべての素数を生成するアルゴリズムです。 ソリューションアプローチ この問題の解決策は、数値を除算する最小の因数を見つけ、それを因数として保存し、それを因数で除算して数値を更新することによって見つけられます。
-
C++のバイナリツリーで最大レベルの合計を見つける
この問題では、正と負の値を持つ二分木が与えられます。私たちのタスクは、バイナリツリーで最大レベルの合計を見つけることです。 問題の説明: 二分木があります。二分木のすべてのレベルの合計を見つけて、それらの最大値を返します。 問題を理解するために例を見てみましょう 入力: 出力: 5 説明: レベル1:3の要素の合計 レベル2の要素の合計:-3 + 4 =1 レベル3の要素の合計:5 --1 + 6-5 =5 ソリューションアプローチ この問題を解決するには、レベル順トラバーサルを使用してツリーをトラバースする必要があります。そして、レベルごとに、合計
-
C++で最大K個のスワップを実行して可能な最大数を見つけます
この問題では、2つの整数値nとkが与えられます。私たちのタスクは、最大でK個のスワップを実行することによって可能な最大数を見つけることです。 問題の説明: ここでは、最大で数の最大k桁を交換した後に作成される数を計算する必要があります。 問題を理解するために例を見てみましょう。 入力: n =538 k =1 出力: 835 説明: 8と5を交換します。 ソリューションアプローチ この問題を解決するには、数の桁をk回交換し、からの数が最大かどうかを確認する必要があります。 数値の最大桁を見つけて、最初のインデックスで要素を交換する必要があります。数字の最初のk
-
C++プログラムで2つのトラバーサルと1つのトラバーサルを使用して配列から要素を削除します
このチュートリアルでは、2つのループとonループを持つ要素を削除する方法を学習します。要素を削除する必要はありません。削除する要素を次の要素に置き換えるだけです。 2つのトラバーサル 2つのループを使用して配列から要素を削除する手順を見てみましょう。 配列を初期化し、要素を削除します。 要素を削除する関数を記述します。 配列を繰り返し処理して、要素を検索します。 要素が見つかった場合は、ループを解除します。 要素が見つかった場合は、配列のサイズを小さくしてください。 すべての要素を前のインデックスに移動します。 配列の新しいサイズを返します。
-
C++プログラムで指定されたインデックス範囲[L–R]の配列要素を削除します
このチュートリアルでは、指定された範囲から要素を削除する方法を学習します。問題を解決するための手順を見てみましょう。 配列と範囲を初期化して、要素を削除します。 新しいインデックス変数を初期化します。 アレイを繰り返し処理します。 現在のインデックスが指定された範囲内にない場合は、配列内の要素を新しいインデックス変数で更新します 新しいインデックスをインクリメントします。 新しいインデックスを返します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; int de
-
C++プログラムで値がxのリーフノードを削除します
このチュートリアルでは、指定された値を持つツリーからリーフノードを削除する方法を学習します。 問題を解決するための手順を見てみましょう。 二分木の構造体ノードを記述します。 ツリーをトラバース(順序付け、事前順序付け、事後順序付け)して、すべてのデータを出力する関数を記述します。 構造体を使用してノードを作成し、ツリーを初期化します。 x値を初期化します。 指定された値を持つリーフノードを削除する関数を記述します。ルートノードとx値の2つの引数を受け入れます。 ルートがnullリターンの場合。 削除後、ルートの左側のノードを新しいルートに置き換えます
-
C++プログラムで値kのリーフノードを削除します
このチュートリアルでは、指定された値を持つツリーからリーフノードを削除する方法を学習します。 問題を解決するための手順を見てみましょう。 二分木の構造体ノードを記述します。 ツリーをトラバース(順序付け、事前順序付け、事後順序付け)し、すべてのデータを出力する関数を記述します。 構造体を使用してノードを作成し、ツリーを初期化します。 x値を初期化します。 指定された値を持つリーフノードを削除する関数を記述します。ルートノードとk値の2つの引数を受け入れます。 ルートがnullリターンの場合。 削除後、ルートの左側のノードを新しいルートに置き換えます。
-
C++プログラムでリンクリストの中央を削除します
このチュートリアルでは、リンクリスト内の中間ノードを削除する方法を学習します。 問題の解決策は簡単です。 1つは一度に1つのノードを移動し、もう1つは一度に2つのノードを移動する2つのポインターがあります。 2番目のポインターが最後のノードに到達するまでに、最初のポインターはリンクリストの中央に配置されます。 問題を解決するための手順を見てみましょう。 リンクリストノードの構造体ノードを記述します。 リンクリストをダミーデータで初期化します。 リンクリストを削除する関数を記述します。 リンクリストヘッドポインタを使用して、2つのポインタ(低速および高速)を初期化しま
-
C++プログラムのリンクリストのMノードの後にNノードを削除します
このチュートリアルでは、 Nを削除する方法を学習します。 Mの後のノード リンクリスト内のノード。 問題を解決するための手順を見てみましょう。 リンクリストノードの構造体ノードを記述します。 リンクリストをダミーデータで初期化します。 Mノードの後にNノードを削除する関数を記述します。 ヘッドポインタでポインタを初期化します。 リンクリストの最後まで繰り返します。 Mノードになるまでポインタを次のノードに移動します。 N個のノードを削除します ポインタを次のノードに移動します リンクリストを印刷する 例 コードを見てみまし
-
C++プログラムでdeleteキーワードを使用してバイナリツリーを削除する
このチュートリアルでは、deleteキーワードを使用してバイナリツリーを削除する方法を学習します。 デストラクタメンバー関数を使用してバイナリを削除します。オブジェクトがスコープから外れるか、deleteを呼び出すことによってオブジェクトが破棄されると、デストラクタメンバー関数が自動的に呼び出されます。 デストラクタメンバー関数の名前は、チルダ(〜)のクラスです。 その前に。 問題を解決するための手順を見てみましょう。 Nodeというクラスを作成します。 ノードのデータを受け入れるコンストラクター関数を記述します。 デストラクタ関数を記述します。 左側のノードを削