-
与えられた4つのキーを使用してAの最大数を印刷する方法
考えてみましょう。キーボードを使用して、「A」の文字を書いてみます。私たちの目標は、4つのキーのみを使用し、テキストフィールドに最大の「A」を書き込もうとすることです。キーは「A」、「C」、「V」、「Ctrl」です。 Aの最大数を書き込むには、Ctrl + Aを使用して[すべて]を選択し、Ctrl + Cを使用してコピーし、Ctrl+Vを使用して貼り付けます。 入力と出力 Input: Number of keystrokes, say 7 Output: Maximum Number of A's with 7 keystrokes is: 9 Press A three time
-
最大の独立集合問題
独立集合は、そのサブセット内の2つのノード間にエッジがない場合、すべての二分木ノードのサブセットです。 ここで、要素のセットから、最長の独立集合を見つけます。つまり、要素を使用してバイナリツリーを形成する場合、すべての最大のサブセットであり、そのサブセット内の要素は相互に接続されていません。 入力と出力 Input: A binary tree. Output: Size of the Largest Independent Set is: 5 アルゴリズム longSetSize(root) このアルゴリズムでは、バイナリツリーが形成され、そのツリーの各ノードがデータとsetSize
-
最大の合計連続サブアレイ
整数の配列が指定されます。連続していて、合計が最大で、出力として送信されるすべての要素の合計を見つける必要があります。 動的計画法を使用して、現在の項までの最大合計を保存します。配列内の連続する要素の合計を見つけるのに役立ちます。 入力と出力 Input: An array of integers. {-2, -3, 4, -1, -2, 1, 5, -3} Output: Maximum Sum of the Subarray is: 7 アルゴリズム maxSum(array, n) 入力- メインアレイ、アレイのサイズ。 出力- 最大合計。 Begin t
-
最長共通部分列
最長共通部分列は、指定されたシーケンスまたは配列の両方に存在するタイプのサブシーケンスです。 この問題を解決するために何度も計算される、多くのサブ問題があることがわかります。動的計画法の重複部分構造プロパティを使用することにより、計算の労力を克服できます。サブ問題の結果が計算されてテーブルに保存されると、前の結果を使用して次の結果を簡単に計算できます。 入力と出力 Input: Two strings with different letters or symbols. string 1: AGGTAB string 2: GXTXAYB Output: The length of the l
-
最長のBitonicサブシーケンス
シーケンスが最初に増加し、次に減少する場合、シーケンスはバイトニックであると言われます。この問題では、すべての正の整数の配列が与えられます。最初に増加し、次に減少するサブシーケンスを見つける必要があります。 この問題を解決するために、2つのサブシーケンスを定義します。これらは、最長増加サブシーケンスと最長減少サブシーケンスです。 LIS配列は、array[i]で終わる増加するサブシーケンスの長さを保持します。 LDS配列は、array[i]から始まる減少するサブシーケンスの長さを格納します。これらの2つの配列を使用して、最長のバイトニックサブシーケンスの長さを取得できます。 入力と出力 In
-
指定された開始文字からの最長の連続パス
さまざまな文字のマトリックスが表示されます。 1つの文字から始めて、現在の文字よりも大きいすべての文字をトラバースすることにより、最長のパスを見つける必要があります。文字は互いに連続しています。 最長のパスを見つけるために、深さ優先探索アルゴリズムを使用します。 DFS中に、いくつかのサブ問題が複数回発生する場合があります。その計算を避けるために、何度も動的計画法を使用します。 入力と出力 Input: The matrix as shown above. And the starting point. Here the starting point is e. Output: Ent
-
最長増加部分列
最長増加部分列は、1つの項目が前の項目よりも大きい部分列です。ここでは、整数のセットから最長増加部分列の長さを見つけようとします。 入力と出力 Input: A set of integers. {0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15} Output: The length of longest increasing subsequence. Here it is 6. The subsequence is 0, 2, 6, 9, 13, 15. アルゴリズム longestSubSeq(subarray, n) 入力- サ
-
最長の回文部分文字列
指定された文字列で、回文で最も長い部分文字列を見つける必要があります。 最長のパリンドローム部分文字列を取得するには、多くのサブ問題を解決する必要があります。いくつかのサブ問題は重複しています。それらは複数回解決する必要があります。そのため、動的計画法が役立ちます。テーブルを使用すると、前のサブ問題の結果を保存し、それらを使用してさらに結果を生成できます。 入力と出力 Input: A String. Say “thisispalapsiti” Output: The palindrome substring and the length of the palindr
-
2つのトラバーサルを使用して、グリッド内の最大ポイントを収集します
各セルにポイントがあるマトリックスがあり、2つのトラバーサルを使用してそのグリッドから最大ポイントを取得する方法。 -を満たすためのいくつかの条件があります 最初の走査は、グリッドの左上のセルから始まり、左下隅に移動する必要があります。そして、右上隅から右下隅への2回目のトラバーサルで 1つのセルから、現在のセルの左下、左下、および現在のセルの右下にのみ移動できます。 1つのトラバーサルがすでにセルからいくつかのポイントを取得している場合、次のトラバーサルではそのセルからポイントは取得されません。 入力と出力 Input: A grid with points. 3 6
-
1からnまでのすべての数値の桁の合計を計算します
この問題では、1からnの範囲のすべての数値の桁の合計を見つける必要があります。たとえば、54の桁の合計は5 + 4 =9です。このように、すべての数値とそれらの桁の合計を見つける必要があります。 10 d-1があることはわかっています 桁数がdの数値を生成できます。これらすべての桁数dの合計を求めるには、再帰式を使用できます。 sum(10 d -1)=sum(10 d-1 -1)* 10 + 45 *(10 d-1 ) 入力と出力 Input: This algorithm takes the upper limit of the range, say it is 20.
-
連続した1なしでバイナリ文字列をカウントします
この問題では、連続する1がない2進数を見つける必要があります。 3ビットの2進数文字列には、連続する1を持つ3つの2進数011、110、111があり、連続する1がない5つの数値があります。したがって、このアルゴリズムを3ビットの数値に適用すると、答えは5になります。 a [i]がビット数がIで連続する1を含まない2進数のセットであり、b[i]がビット数がIで連続する1を含む2進数のセットである場合、次のような繰り返し関係があります: a[i] := a[i - 1] + b[i - 1] b[i] := a[i - 1] 入力と出力 Input: This algorithm takes n
-
ゲームで特定のスコアに到達する方法の数を数える
プレーヤーが各動きで3、5、または10のスコアを獲得できるゲームを考えてみましょう。目標スコアも表示されます。私たちの仕事は、これらの3つのポイントでその目標スコアに到達するための可能な方法がいくつあるかを見つけることです。 動的計画法のアプローチにより、0からnまでのすべてのスコアのリストを作成し、3、5、10の値ごとに、テーブルを更新するだけです。 入力と出力 Input: The maximum score to reach using 3, 5 and 10. Let the input is 50. Output: Number of ways to reach using (3,
-
建物を建設するための可能な方法を数える
ここでは、n個のセクションが示されています。各セクションには、建物を建設するための2つの側面があります。 2つの家の間に1つの空きスペースが必要な場合、プロット内に建物を構築するための可能な方法はいくつありますか。 建物を建てるには4つの可能性があります 道路の片側 道路の反対側 建物は建設できません 道路の両側 入力と出力 Input: It takes the number of sections to construct buildings. Say the input is 3. Output: Enter Number of sections: 3 Buildings can
-
n番目の階段に到達する方法を数える
n段の階段があります。 1人目からn番目の階段に行きます。彼/彼女が1つのステップで横断できる階段の最大数も与えられます。この情報を使用して、n番目の階段に行くための可能な方法を見つける必要があります。 各ステップで最大2つの階段を越えることができると考えてみましょう。したがって、この問題を解決するための漸化式を見つけることができます。 (n-1)番目の階段または(n-2)番目の階段のいずれかからn番目の階段に移動できます。つまり、ways(n)=Ways(n-1)+ Ways(n-2)。 入力と出力 Input: The number of stairs, say 10 the maxim
-
卵を落とすパズル
これは有名なパズルの問題です。 n階建ての建物があるとすると、m個の卵がある場合、卵を壊さずに安全に落とせる床を見つけるために必要な最小の滴数をどのように見つけることができますか。 覚えておくべき重要なポイントがいくつかあります- 卵が特定の階から壊れない場合、それは下の階でも壊れません。 特定の階から卵が割れる場合、上層階すべてで卵が割れる。 卵が壊れたときは廃棄する必要があります。そうしないと、再び使用できます。 入力と出力 Input: The number of eggs and the maximum floor. Say the number of eggs are 4 an
-
距離の編集
指定された文字列は2つあります。最初の文字列はソース文字列で、2番目の文字列はターゲット文字列です。このプログラムでは、最初の文字列を2番目の文字列に変換するために必要な編集の数を見つける必要があります。 文字列の編集は、いくつかの要素を挿入するか、最初の文字列から何かを削除するか、何かを変更して2番目の文字列に変換することができます。 入力と出力 Input: Two strings to compare. string 1: Programming string 2: Programs Output: Enter the initial string: Programming Ente
-
桁の合計が値に等しい数を検索します
数値nと値があります。すべてのn桁の数値を見つける必要があります。ここで、すべてのn桁の合計は、指定された値と同じです。ここで、0は数字としてカウントされません。 数値nは1から100の範囲で、値は1から500の範囲である必要があります。 入力と出力 Input: This algorithm takes number of digits, and the sum value. Let the digit count is 3. and sum is 15. Output: Display the number of different 3-digit numbers whose sum i
-
電車を使って目的地に到着するための最小費用を見つける
この問題では、旅の途中にNか所の停留所があります。車両はストップ0からN-1までの旅を開始します。表には、すべての駅のペアのチケットコストが示されています。与えられたコストで目的地に到達するための最小コストを見つける必要があります。 入力と出力 Input: The cost matrix of the journey. 0 15 80 90 ∞ 0 40 50 ∞ ∞ 0 70 ∞ ∞ ∞ 0 Output: The minimum cost is
-
正確にk個のエッジを持つ最短経路
1つの有向グラフには、頂点の各ペア間の重みが示され、2つの頂点uとvも提供されます。私たちのタスクは、頂点uから頂点vまでの最短距離を、正確にk個のエッジで見つけることです。 この問題を解決するために、頂点uから開始し、隣接するすべての頂点に移動し、k値をk-1として使用して隣接する頂点に対して繰り返します。 入力と出力 Input: The cost matrix of the graph. 0 10 3 2 ∞ 0 ∞ 7 ∞ ∞ 0 6 ∞ ∞ ∞ 0 Ou
-
強く接続されたグラフ
有向グラフでは、1つのコンポーネントの頂点の各ペアの間にパスがある場合、強く接続されていると言われます。 このアルゴリズムを解決するには、まず、DFSアルゴリズムを使用して各頂点の終了時間を取得し、次に転置されたグラフの終了時間を検索します。次に、頂点をトポロジカルソートの降順で並べ替えます。 入力と出力 Input: Adjacency matrix of the graph. 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 Output: Following are strongly connected components i