C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++の超醜い数

    n番目の非常に醜い数を見つけるには、1つの関数を作成する必要があります。超醜い数は正の数であり、そのすべての素因数はサイズkの与えられた素数リストの素数にあります。したがって、nが12で、素数が[2、7、13、19]の場合、出力は32になります。これは、[1、2、4、7、8、13、14、16、19、26、 28、32]は12個の非常に醜い数のシーケンスです。 これを解決するには、次の手順に従います- num、prime、idxを使用してデータ構造トリプレットを作成します nが1の場合、1を返し、サイズn + 1の配列を作成し、これに1を入力します 優先キューpqを定義する

  2. C++でのHouseRobberIII

    ある泥棒が再び自分の泥棒の新しい場所を見つけたとします。このエリアへの入り口は1つだけで、入り口は「ルート」と呼ばれます。ルートのほかに、各家には1つだけの親の家があります。ツアーの後、賢い泥棒は「この場所のすべての家が二分木を形成している」と感じました。また、直結した2軒の家が同じ夜に侵入された場合は自動的に警察に連絡します。泥棒が警察に警告せずに今夜奪うことができる最大の金額を見つけなければなりません。したがって、ツリーが次のような場合- その場合、出力は7になります。 これを解決するには、次の手順に従います- solve()と呼ばれるメソッドを定義します。これはノードを取

  3. C++で文字列内のすべてのアナグラムを検索

    文字列sと空でない文字列pがあるとすると、s内のpのアナグラムのすべての開始インデックスを見つける必要があります。文字列は小文字のみで構成され、文字列sとpの両方の長さは20と100を超えません。したがって、たとえば、s: cbaebabacd p: abcの場合、出力は[0、6 ]、インデックス0では「cba」、もう1つは「bac」です。これらは「abc」のアナグラムです。 これを解決するには、次の手順に従います- マップm、n:=sのサイズを定義し、左:=0、右:=0、カウンター:=pのサイズを設定 配列を定義します pの文字の頻度をマップmに保存します 右の場合

  4. タスクスケジューラnC++

    CPUが実行する必要のあるタスクを表すchar配列があるとします。これには大文字のAからZが含まれ、異なる文字は異なるタスクを表します。タスクは、元の順序なしで実行できます。各タスクは1つの間隔で実行できます。間隔ごとに、CPUは1つのジョブを終了するか、単にアイドル状態になる可能性があります。ただし、nと呼ばれる非負の冷却間隔があります。これは、2つの同じタスクの間に、CPUが異なるタスクを実行している、または単にアイドル状態になっている間隔が少なくともn個ある必要があることを意味します。指定されたすべてのタスクを完了するためにCPUが取る間隔の最小数を見つける必要があります。したがって、入

  5. C++のすべての最も深いノードを持つ最小のサブツリー

    ルートをルートとする二分木があるとすると、各ノードの深さはルートまでの最短距離です。ここで、ノードは、ツリー全体のノードの中で可能な限り最大の深さを持っている場合に最も深くなります。ノードのサブツリーは、そのノードと、そのノードのすべての子孫のセットです。サブツリー内の最も深いノードがすべて含まれるように、最大​​の深さのノードを見つける必要があります。したがって、ツリーが次のような場合- その場合、最も深いサブツリーは-になります これを解決するには、次の手順に従います- ソルブ()と呼ばれるメソッドを定義します。これは入力としてルートになります ルートがnull

  6. C++で可能なすべての完全な二分木

    完全な二分木が各ノードに正確に0または2つの子を持つ二分木であると仮定します。したがって、Nノードを持つすべての可能な完全な二分木のリストを見つける必要があります。回答内の各ツリーの各ノードは、node.val=0である必要があります。返されるツリーは任意の順序にすることができます。したがって、入力が7の場合、ツリーは- これを解決するには、次の手順に従います- 整数型のキーとツリー型の値のマップmを定義します。 allPossibleFBT()というメソッドを定義します。これは、入力としてNを取ります Nが1の場合、値が0のノードを1つ持つツリーを作成し、戻り値

  7. C++でのサブアレイの最小値の合計

    整数Aの配列があるとします。min(B)の合計を見つける必要があります。ここで、BはAのすべての(連続した)サブ配列にまたがっています。大きい場合は、モジュロ10 ^ 9 + 7で答えを返します。したがって、入力が[3,1,2,4]の場合、サブ配列は[3]、[1]、[であるため、出力は17になります。 2]、[4]、[3,1]、[1,2]、[2,4]、[3,1,2]、[1,2,4]、[3,1,2,4] 、したがって、最小値は[3,1,2,4,1,1,2,1,1,1]であり、合計は17です。 これを解決するには、次の手順に従います- m:=1 x 10 ^ 9 + 7 2つのメソ

  8. C++での完全な二分木インサーター

    私たちが知っているように、完全な二分木は、おそらく最後を除くすべてのレベルが完全に満たされ、すべてのノードが可能な限り左にある二分木です。完全な二分木で初期化され、次の操作をサポートするデータ構造CBTInserterを作成する必要があります- CBTInserter(TreeNode root)これにより、ヘッドノードルートを使用して特定のツリーのデータ構造が初期化されます。 CBTInserter.insert(int v)は、TreeNodeを値node.val =vでツリーに挿入するために使用され、ツリーが完全なままであり、挿入されたTreeNodeの親の値を返します。

  9. C++での二分木の最大レベルの合計

    二分木のルートがあり、そのルートのレベルが1、子のレベルが2などであるとします。レベルXのノードのすべての値の合計が最大になるように、最小のレベルXを返す必要があります。したがって、ツリーが次のような場合- 出力は2になり、レベル1の合計=1、レベル2の合計は7 + 0 =7、レベル2の合計は7 +(-8)=-1になるため、最大値はレベルになります。 2なので、出力は2です。 これを解決するには、次の手順に従います- level:=1、sum:=rの値、ansLevel:=level、ansSum:=sum キューqを定義し、指定されたノードrをqに挿入します qが空でない間 容量

  10. C++でスティックを接続するための最小コスト

    正の整数の長さのスティックがあるとします。 X + Yのコストを支払うことで、長さXとYの任意の2本のスティックを1本のスティックに接続できます。これは、残りのスティックが1本になるまで実行されます。この方法で、指定されたすべてのスティックを1つのスティックに接続するための最小コストを見つける必要があります。したがって、スタックが[2,4,3]の場合、出力は14になります。 これを解決するには、次の手順に従います- 最大ヒープ優先度キューpqを定義します sのすべての要素をpqに挿入します ans:=0 pqには複数の要素があります temp:=キューの先頭、pqから先頭を削除 t

  11. C++で1回削除した場合の最大サブアレイ合計

    整数の配列があるとします。最大で1つの要素が削除された、空でないサブアレイ(連続する要素)の最大合計を見つける必要があります。つまり、サブ配列を選択し、オプションで1つの要素を削除して、少なくとも1つの要素が残り、残りの要素の合計が可能な限り最大になるようにする必要があると言えます。 1つの要素を削除した後は、サブ配列が空でない必要があることに注意する必要があります。したがって、入力が[1、-2,0,3]の場合、出力は4になります。したがって、-2を削除すると、最大合計が返されます。 これを解決するには、次の手順に従います- n:=配列のサイズ、および:=a [0] suff_wit

  12. C++での2つの合計BST

    2つの二分探索木があるとすると、最初のツリーにノードがあり、2番目のツリーにノードがあり、これらのノードの合計が指定された整数ターゲットである場合は、Trueを返す必要があります。 。したがって、ツリーが次のような場合- ターゲットが5の場合、結果はtrueです。 これを解決するには、次の手順に従います- マップを定義する check()というメソッドを定義します。これにより、node、target、nodeNumberが取得され、次のように機能します- ノードが有効な場合はfalseを返します curr:=ノードの値、req:=target – curr reqがsに存在

  13. C++で与えられた違いの最長の算術部分列

    整数配列arrと整数の差があるとすると、arrの最長のサブシーケンスの長さを見つける必要があります。これは、サブシーケンス内の隣接する要素間の差が等差数列になるようなものです。違いと同じです。したがって、入力が[1,5,7,8,5,3,4,2,1]のようで、差が-2の場合、最長の等差数列は[7,5、 3,1] これを解決するには、次の手順に従います- マップを定義するm n:=配列arrのサイズ、ans:=0を設定 0からn–1の範囲のiの場合 x:=arr [i] m [x]:=1 + m [x --d] ans:=maxofおよびm[x] 回答を返す 例 理解を深め

  14. C++でリーダーボードを設計する

    リーダーボードクラスを設計する必要があるとすると、3つの異なる関数があります- addScore(playerId、score)-これにより、指定されたプレーヤーのスコアにスコアが追加され、リーダーボードが更新されます。リーダーボードに指定されたIDを持つそのようなプレーヤーがいない場合は、指定されたスコアでリーダーボードに追加します。 top(K)-これにより、上位K人のプレーヤーのスコアの合計が返されます。 reset(playerId)-これにより、指定されたIDを持つプレーヤーのスコアが0にリセットされます。この関数を呼び出す前に、プレーヤーがリーダーボードに追加されたことが保

  15. C++での木の直径

    無向ツリーがあるとします。その直径を見つける必要があります-そのツリーの最長パスのエッジの数は、そのツリーの直径です。ここで、ツリーはエッジリストとして与えられます。ここで、edges [i] =[u、v]は、ノードuとvの間の双方向エッジです。各ノードには、セット{0、1、...、edges.length}にラベルがあります。したがって、グラフが次のような場合- 出力は4になります。 これを解決するには、次の手順に従います- マップを定義するl dfs()というメソッドを定義します。これには、v、visitedと呼ばれる配列、グラフ、およびcが必要です。次のように機能します-

  16. C++で文字列を等しくするための最小スワップ

    「x」と「y」の文字のみで構成される同じ長さの2つの文字列s1とs2があるとします。私たちの仕事は、これら2つの文字列を互いに等しくすることです。異なる文字列に属する任意の2文字を交換できます。つまり、s1[i]とs2[j]を交換します。 s1とs2を等しくするために必要なスワップの最小数を見つける必要があります。それが不可能な場合は、-1を返す必要があります。したがって、文字列がs1 =“ xy”およびs2 =“ yx”の場合、出力は2になります。s1[0]とs2 [0]を交換すると、s1 =yy、s2=xxになります。次に、s1[0]とs2[1]を交換します。s1=xy、s2=xy。 こ

  17. C++でのニースサブアレイの数を数える

    整数numsと整数kの配列があるとします。サブアレイは、k個の奇数が存在する場合、ナイスサブアレイと呼ばれます。素敵なサブ配列の数を見つける必要があります。したがって、配列が[1,1,2,1,1]で、k =3の場合、サブ配列は[1,1,2,1]と[1,2,1]であるため、出力は2になります。 、1] これを解決するには、次の手順に従います- ans:=0、n:=nums配列のサイズ 左:=0、右:=0、カウント:=0 配列を奇数と定義し、これをnumsに存在するすべての奇数値で埋めます =kの場合、 iが0で、jがk – 1の範囲で奇数– 1のサイズの場合、iとjを1増やします

  18. C++で間隔を削除する

    互いに素な区間のソートされたリストがあるとします。各区間区間[i]=[a、b]は、a <=x

  19. C++でツリーノードを削除する

    ツリーがあり、このツリーはノード0をルートとしていると仮定します。これは、次のように与えられます- ノードの数はノードです i番目のノードの値はvalue[i] i番目のノードの親はparent[i] ノードの値の合計が0であるすべてのサブツリーを削除する必要があります。削除すると、ツリーに残っているノードの数が返されます。したがって、ツリーが次のような場合- 7つのノードがあり、出力は2になります これを解決するには、次の手順に従います- 子供と呼ばれる地図を作成する dfs()というメソッドを定義します。これにより、ノード、配列値、グラフが取得されます temp:=ペ

  20. C++での組み合わせのためのイテレータ

    いくつかの操作で構成されるイテレータクラスを設計する必要があるとします- ソートされた個別の小文字の英字の文字列文字と数値combinationLengthをパラメーターとして受け取るコンストラクターを定義します。 長さcombinationLengthの次の組み合わせをアルファベット順に返す関数next()を定義します。 次の組み合わせが存在する場合にのみTrueを返す別の関数hasNext()を定義します。 したがって、入力が-のような場合 CombinationIterator iterator = new CombinationIterator("xyz",

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:146/300  20-コンピューター/Page Goto:1 140 141 142 143 144 145 146 147 148 149 150 151 152