-
シリーズ1+22 + 333 + 4444+...の合計をC++でn個まで検索
この問題では、整数値Nが与えられます。私たちのタスクはシリーズ1 + 22 + 333 + 4444 +55555...最大n項の合計を見つけることです 。 問題を理解するために例を見てみましょう Input : N = 4 Output : 4800 説明 − 1 + 22 + 333 + 4444 = 4800 ソリューションアプローチ この問題を解決する簡単な方法は、級数の一般項を見つけてから、n項までの合計を見つけることです。また、数式を使用して合計を計算すると、O(1)までの時間が短縮されます。 シリーズは、 1 + 22 + 333 + 4444 + 55555
-
C++で特定の時間のキューの配置を見つけます
この問題では、文字「M」と「F」のみで構成される文字列と時間tが与えられます。私たちのタスクは、特定の時間にキューの配置を見つけることです。 。 文字列は、バスに乗るために共通のキューに立っている人々を定義します。待ち行列にいるすべての男性は非常に騎士道的であるため、いつでも後ろに女性がいるのを見ると、彼らは彼らと場所を交換します。バスに入るのにt単位時間が残っており、各交換には1単位時間がかかります。キューを並べ替えて、バスが来るときの位置を見つける必要があります。 問題を理解するために例を見てみましょう Input : queue = "MFMMFF" , t =
-
C++で最初のN個の自然数の平均を求めます
この問題では、数nが与えられます。私たちの仕事は、最初のN個の自然数の平均を見つけることです。 。 数値の平均 すべての数値の合計を数値の総数で割ったものとして定義されます。 N個の自然数の平均は、最初のN個の自然数の合計をNで割ったものとして定義されます。 問題を理解するために例を見てみましょう Input : N = 23 Output : 12 説明 − 1 + 2 + 3 + ... + 22 + 23 = 276 276 / 23 = 12 ソリューションアプローチ 数の平均を見つけるために、平均の式を使用します。 平均=合計(N)/ N 平均=(1 + 2 +
-
C++のバイナリツリーで最も深いノードを見つける
この問題では、二分木が与えられます。私たちのタスクは、バイナリツリーで最も深いノードを見つけることです。 。 バイナリツリーは、データストレージの目的で使用される特別なデータ構造です。二分木には、各ノードが最大2つの子を持つことができるという特別な条件があります。 二分木で最も深いノード ツリー内で可能な最大の高さにあるノードです。 問題を理解するために例を見てみましょう 入力: 出力:8 ソリューションアプローチ 高さを見つけて、高さの最後のノードまでツリーをトラバースして返す必要があるため、この問題を解決するには複数の方法があります。すべての解決策は、この原則のみに基
-
C++で直角三角形の寸法を見つける
この問題では、2つの値HとAが与えられ、直角三角形の斜辺と面積を示します。私たちの仕事は、直角三角形の寸法を見つけることです。 。 直角三角形 は、2つの辺が直角に交差する特殊なタイプの三角形です。 図:直角三角形 問題を理解するために例を見てみましょう Input : H = 7 , A = 8 Output : height = 2.43, base = 6.56 ソリューションアプローチ この問題の解決策は、値の数式を使用して見つけることができます。そして、ここでそれらを導き出しましょう。 $ A \:=\:1/2 ^ * h ^ * b $ $ H ^ 2 \:=
-
C++の文字列から最初の最大長の偶数単語を検索します
この問題では、コンマで区切られた単語で構成される文字列strです。私たちのタスクは、文字列から最初の最大長(単語も含む)を見つけることです 。 長さが最大で偶数である最大の単語「2つのスペース間の文字列」を見つける必要があります。 問題を理解するために例を見てみましょう Input : str = "learn programming at TutorialsPoint" Output : TutorialsPoint 説明 − The string with even length is TutorialsPoint. ソリューションアプローチ この問題の簡
-
C++で文字列の最初に繰り返される単語を検索します
この問題では、コンマで区切られた単語で構成される文字列strです。私たちのタスクは、文字列内の最初に繰り返される単語を見つけることです。 。 文字列内で繰り返される最初の単語「2つのスペースの間の文字列」を見つける必要があります。 問題を理解するために例を見てみましょう Input : str = "C program are easy to program" Output : program ソリューションアプローチ この問題の簡単な解決策は、ハッシュマップデータ構造を使用することです。最初に繰り返される単語を見つけるために、各単語とその数(文字列に出現した回数)
-
整数の配列C++で最初の繰り返し要素を検索します
この問題では、n個の整数値の配列arrです。私たちのタスクは、整数の配列の最初の繰り返し要素を見つけることです。 。 配列内で複数回発生した配列から最初の整数値を見つける必要があります。 問題を理解するために例を見てみましょう Input : arr[] = {4, 1, 8, 9, 7, 2, 1, 6, 4} Output : 4 説明 − Integers with more than one occurrence are 4 and 1. 4's first occurrence is smaller than 1. Hence the answer is 4 ソリュ
-
最初のN個の自然数C++の適切な順列を見つける
この問題では、私たちは整数値Nです。私たちのタスクは最初のN個の自然数の適切な順列を見つけることです 。 順列は、配置の順序に関して、オブジェクトのセットのすべてまたは一部の配置です。 適切な順列 は$1\ leqslant {i} \ leqslant{N}$とそれに続く順列です $ P_ {pi} \:=\:i $ $ P_ {p!} \:=\:i $ 問題を理解するために例を見てみましょう Input : N = 1 Output : -1 ソリューションアプローチ この問題の簡単な解決策は、順列を見つけることです。 p iとなるようなp =i。 次に、p iを満
-
C++で与えられた2つの辺を持つ直角三角形の斜辺を見つけます
この問題では、直角三角形の高さと底辺を定義する2つの整数値HとBが与えられます。私たちの仕事は、与えられた2つの辺を持つ直角三角形の斜辺を見つけることです 。 直角三角形は、2つの角度が直角である特殊三角形です。 問題を理解するために例を見てみましょう Input : B = 5, H = 12 Output : 13.00 ソリューションアプローチ この問題の簡単な解決策は、ピタゴラスの定理の概念を使用することです。 底辺と高さを使用して三角形の低テヌスを見つける。 ピタゴラスの定理の状態 直角三角形の斜辺の二乗は、三角形の他の2つのサイトの二乗の合計に等しいこと。 として
-
C++で0と1のソートされた配列で最初の1のインデックスを検索します
この問題では、ブール値(0と1のみ)で構成される配列bin[]がソートされた順序で与えられます。私たちのタスクは、0と1の並べ替えられた配列で最初の1のインデックスを見つけることです 。 問題を理解するために例を見てみましょう Input : bin[] = {0, 0, 0, 1, 1} Output : 3 説明 − First 1 of the binary array is encountered at index 3. ソリューションアプローチ この問題を解決するには、基本的に配列内の最初の1のインデックスを見つける必要があります。そのために、検索手法を使用できます。 1
-
C++の0と1の無限にソートされた配列で最初の1のインデックスを見つけます
この問題では、ブール値(0と1のみ)で構成される無限配列bin[]がソートされた順序で与えられます。私たちのタスクは、0と1の無限にソートされた配列から最初の1のインデックスを見つけることです 。 ここに、配列に1が存在することを保証する無限配列があります。 問題を理解するために例を見てみましょう Input : bin[] = {0, 0, 0, 1, 1, ....} Output : 3 説明 − First 1 of the binary array is encountered at index 3. ソリューションアプローチ この問題を解決するには、基本的に配列内の最初
-
C ++で配列内を移動した後、左ポインタのインデックスを見つけます
この問題では、サイズNの配列arr []が与えられます。私たちのタスクは、配列内で可能な移動の後に左ポインタのインデックスを見つけることです。 。 配列には2つのポインターがあります。1つは左ポインター、もう1つは右ポインターです。 左ポインタはインデックス0から始まり、値が増加します。 右ポインタはインデックス(n-1)から始まり、値がデクリメントされます。 トラバースされた合計が他よりも小さい場合、つまり、左ポインターの合計が右ポインターの合計よりも小さい場合、ポインターの値は増加します。それ以外の場合、右ポインターは減少します。そして、合計が更新されます。 問題を理解するために
-
C ++で範囲合計クエリを実行した後、指定された配列から初期配列を検索します
この問題では、サイズNの配列res []が与えられます。私たちのタスクは、範囲合計クエリの後に、指定された配列から初期配列を検索することです。 [s、e、val]クエリを実行すると配列rel[]を返す開始配列を見つける必要があります。 各[s、e、val]クエリは次のように解決されます 開始インデックス 終了インデックス 配列内のsからeまでの各要素に追加される値を更新します。 問題を理解するために例を見てみましょう Input : rel[] = {7, 4, 8} Query[][] = {{1, 2, 1}, {0, 1, 3}} Output : {4, 0, 7} 説明
-
C ++で指定された要素を削除した後、k個の最大数を見つけます
この問題では、サイズnの配列arr []、サイズmの配列del []、および整数kが与えられます。私たちのタスクは、指定された要素を削除した後にk個の最大数を見つけることです 。 del[]配列に存在するすべての要素を削除した後に見つかった配列arr[]から最初のk個の最大要素を出力する必要があります。アレイに2つのインスタンスが存在する場合は、最初のインスタンスを削除します。 問題を理解するために例を見てみましょう Input : arr[] = {3, 5, 1, 7, 9, 2}, del[] = {1, 9, 3}, k = 2 Output : 7, 5 説明 − Arra
-
C ++で特定の要素を削除した後、k個の最小数を見つけます
この問題では、サイズnの配列arr []、サイズmの配列del []、および整数kが与えられます。私たちのタスクは、指定された要素を削除した後にk個の最小数を見つけることです。 。 del[]配列に存在するすべての要素を削除した後に見つかった配列arr[]から最初のk個の最小要素を出力する必要があります。アレイに2つのインスタンスが存在する場合は、最初のインスタンスを削除します。 問題を理解するために例を見てみましょう Input : arr[] = {3, 5, 1, 7, 9, 2}, del[] = {1, 9, 3}, k = 2 Output : 2, 5 説明 − Arr
-
C++で自然数Nのk番目に小さい約数を見つけます
この問題では、2つの整数値Nとkが与えられます。私たちの仕事は、自然数Nのk番目に小さい約数を見つけることです。 。 問題を理解するために例を見てみましょう Input : N = 15, k = 3 Output : 5 説明 − Factors of 15 are 1, 3, 5, 15 3rd smallest is 5 ソリューションアプローチ この問題の簡単な解決策は、数値の因数を見つけて並べ替えて保存し、k番目の値を出力することです。 ソートでは、root(N)までループし、Nがiで割り切れるかどうかを確認します。そして、iと(N / i)の値を配列に格納し、それをソー
-
C++で指定されたN個の範囲によって生成されたシリーズのk番目の要素を検索します
この問題では、行列範囲[N] [2]として間隔L〜Rの間にN範囲の整数値が与えられ、整数値kが与えられます。私たちのタスクは、指定されたN個の範囲によって生成されたシリーズのk番目の要素を見つけることです 。 問題を理解するために例を見てみましょう Input : ranges[][] = {{1, 3}, {5, 7}}, k = 4 Output : 5 説明 − The series is {1, 2, 3, 5, 6, 7} The 4th element is 5. ソリューションアプローチ この問題の簡単な解決策は、指定された範囲に対して一連の整数を作成し、それらの配列の
-
C++のツリー内の特定のサブツリーのDFSトラバーサルでK番目のノードを検索します
この問題では、サイズNのツリー、ツリーVおよびkのノードが与えられます。私たちのタスクは、ツリー内の特定のサブツリーのDFSトラバーサルでK番目のノードを見つけることです。 。 頂点Vから始まるツリーのDFSトラバーサルでk番目のノードを見つける必要があります。 問題を理解するために例を見てみましょう 入力: V =2、k =3 出力:4 説明 − The series is {1, 2, 3, 5, 6, 7} The 4th element is 5. ソリューションアプローチ この問題の簡単な解決策は、ノードVのDFSトラバーサルを見つけて、そこからk番目の値
-
C ++で指定された要素を削除した後、最大のものを見つけます
この問題では、サイズnの配列aar[]とサイズmの別の配列del[]が与えられます。私たちのタスクは、指定された要素を削除した後に最大のものを見つけることです。複数のインスタンスを持つ要素を削除する必要がある場合は、要素の最初のインスタンスを削除します。 問題を理解するために例を見てみましょう Input : arr[] = {3, 5, 1, 7, 9, 2}, del[] = {1, 9, 3} Output : 7 説明 − Array arr[] after deleting the elements : {5, 7, 2} Largest element of the arr