C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++の無向グラフの連結成分の数

    n個のノードがあり、それらに0からn -1のラベルが付けられ、無向エッジのリストも与えられているとすると、無向グラフで連結成分の数を見つけるために1つの関数を定義する必要があります。 したがって、入力がn =5で、edges =[[0、1]、[1、2]、[3、4]]、のような場合 その場合、出力は2になります これを解決するには、次の手順に従います- 関数dfs()を定義します。これにより、ノード、グラフ、visitedという配列が取得されます。 visited [node]がfalseの場合、- 訪問済み[ノード]:=true 初期化i:=0の場合、

  2. 最大サイズのサブアレイの合計は、C++ではkに等しい

    numsという配列とターゲット値kがあるとすると、合計がkになるサブ配列の最大長を見つける必要があります。存在しない場合は、代わりに0を返します。 したがって、入力がnums =[1、-1、5、-2、3]、k =3のようである場合、サブ配列[1、-1、5、-2]の合計は4になるため、出力は4になります。 3で、最長です。 これを解決するには、次の手順に従います- ret:=0 1つのマップを定義するm n:=numsのサイズ temp:=0、m [0]:=-1 初期化i:=0の場合、i

  3. C++で最大のBSTサブツリー

    二分木があるとしましょう。その中で最大のサブツリーを見つける必要があります。ここで、最大とは、ノードの数が最も多いサブツリーを意味します。 したがって、入力が次のような場合、 この場合、最大のBSTサブツリーが強調表示されているため、出力は3になります。 これを解決するには、次の手順に従います- データと呼ばれる1つの構造を定義します。サイズ、maxVal、minVal、okの4つの値があり、okはtrue/falseの値のみを保持できます 解決(TreeNode *ノード) ノードがnullの場合、&miuns; 初期化してデータを返す(0、無限大、-無

  4. C++でのAndroidのロック解除パターン

    Android 3x3キーロック画面と2つの整数mとnがあり、mとnの値が1≤m≤n≤9の範囲にあるとします。Androidロック画面のロック解除パターンの総数をカウントする必要があります。最小m個のキーと最大n個のキーで構成されます。 ルールは次のようになります。各パターンは、少なくともm個のキーと最大でn個のキーを接続する必要があります。すべてのキーは一意である必要があります。パターン内の2つの連続するキーを結ぶ線が他のキーを通過する場合、他のキーはパターン内で事前に選択されている必要があります。選択されていない、許可されていないキーをジャンプします。使用するキーの順序が重要です。

  5. C++の引用リストからH指数を見つけるプログラム

    研究者の引用がたくさんあるとします。研究者のh指数を計算する関数を定義する必要があります。私たちが知っているように、h指数は研究者の論文の影響を計算するために使用される測定基準です。正式には、H指数は次のように定義できます。「研究者は、N個の論文のh個にそれぞれ少なくともh個の引用があり、他のN −h個の論文にはそれぞれh個以下の引用がある場合に指数hを持ちます。」 したがって、入力がcitations =[5、4、1、2、6]のようである場合、少なくとも3つの論文にはそれぞれ少なくとも3つの引用があるため、出力は3になります。 これを解決するには、次の手順に従います- n:=配列のサ

  6. C++でバイナリ検索ツリーのInorderSuccessorを検索するプログラム

    二分探索木BSTとノードの別の値があるとすると、BSTでそのノードの順序どおりの後続を見つける必要があります。ノードpの後継は、pの値よりも大きい最小のキーを持つノードであることは誰もが知っています。 したがって、入力が次のような場合 そして、p =1の場合、出力は2になります これを解決するには、次の手順に従います- 再帰的メソッドinorderSuccessor()を定義します。これは、ルートとpを取得します ルートがnullの場合、次のようになります。 nullを返す ルートの値<=pの値の場合: return inorderSuccessor(rootの権利、p)

  7. リンクリストをC++のバイナリ検索ツリーに変換するプログラム

    要素が降順ではない順序で配置されている単一リンクリストがあるとすると、それを高さバランスのとれた二分探索木に変換する必要があります。したがって、リストが[-10、-3、0、5、9]のような場合、可能なツリーは-のようになります。 これを解決するには、次の手順に従います- リストが空の場合、 nullを返す sortedListToBST()と呼ばれる再帰メソッドを定義します。これにより、リストの開始ノードが取得されます。 x:=リストaの中間ノードの前のノードのアドレス mid:=正確なミッドノード midの値から取得して、値を持つ新しいノードを作成します nextSta

  8. C++でのラインリフレクション

    2D平面上にn個の点があるとすると、指定された点を対称的に反射するy軸に平行な線があるかどうかを確認する必要があります。つまり、指定された線上にすべての点を反映した後に線が存在するかどうかを確認する必要があります。元のポイントのセットは、反映されたポイントと同じです。 したがって、入力がpoints =[[1,1]、[-1,1]]のような場合 その場合、出力はtrueになります これを解決するには、次の手順に従います- 1つのセットを定義します。 n:=ポイントのサイズ minVal:=inf maxVal:=-inf 初期化i:=0の場合、i <

  9. 変換された配列をC++でソートする

    整数numと整数値a、b、cのソートされた配列があるとします。配列内の各要素xに、f(x)=ax ^ 2 + bx+cの形式の2次関数を適用する必要があります。そして、最終的な配列はソートされた順序である必要があります。 したがって、入力がnums =[-4、-2,2,4]、a =1、b =3、c =5のような場合、出力は[3,9,15,33] これを解決するには、次の手順に従います- x、a、b、c − を取る関数f()を定義します ax ^ 2 + bx+cを返す メインの方法から、次のようにします- n:=numsのサイズ 開始:=0、終了:=n-1

  10. C++での爆弾の敵

    2Dグリッドがあるとします。ここでは、各セルは壁「W」、敵「E」、または空の「0」のいずれかです。1つの爆弾を使用して殺すことができる最大の敵を見つける必要があります。爆弾は、植えられた地点から壁にぶつかるまで、同じ行と列にいるすべての敵を殺します。そして、爆弾は空白のスペースにしか置くことができません。 したがって、入力が次のような場合 緑の場所に爆弾を置くと、出力は3になり、3人の敵を殺します。 これを解決するには、次の手順に従います- ret:=0 n:=グリッドの行数、m:=グリッドの列数 サイズmの配列列を定義します 初期化i:=0の場合、i <

  11. C++でヒットカウンターを設計する

    過去5分間に受信したヒット数をカウントするヒットカウンターを設計するとします。 2番目のユニットにタイムスタンプパラメータを受け入れる関数があり、システムに対して時系列で呼び出しが行われていると想定できます(したがって、タイムスタンプは単調に増加します)。また、最も早いタイムスタンプは1から始まると想定しています。 複数のヒットがほぼ同時に到着する可能性があります。 したがって、hit()関数を呼び出してhitし、getHits()関数を呼び出してヒット数を取得します。 これを解決するには、次の手順に従います- サイズ300の配列時間を定義する サイズ300の配列ヒットを定義

  12. C++で二分木の葉を見つける

    二分木があるとします。すべての葉を集めて取り除き、木が空になるまで繰り返します。 したがって、入力が次のような場合 その場合、出力は[[4,5,3]、[2]、[1]]になります。 これを解決するには、次の手順に従います- 1つのマップszを定義する 1つの2D配列retを定義する 関数dfs()を定義します。これはノードを取ります ノードがnullの場合、- sz [ノードの値]:=1 + dfs(ノードの左側)とdfs(ノードの右側)の最大値 retのサイズ

  13. Plus One Linked List in C ++

    空でない単一リンクの数字リストとして表される非負の整数があるとすると、整数に1を足す必要があります。整数には、数値0自体を除いて、先行ゼロは含まれていないと想定できます。リンクリストでは、最上位桁がリストの先頭にあります。 したがって、入力が[1,2,3]の場合、出力は[1,2,4]になります。 これを解決するには、次の手順に従います- ヘッドがnullの場合、- リターンヘッド curr=頭 req =NULL currがゼロ以外の場合、実行- currの値が9に等しくない場合、- req:=curr curr:=currの次

  14. C++での範囲の追加

    サイズnの配列があり、それが0で初期化され、値kもあるとすると、k個の更新操作を実行します。各操作はトリプレットとして表されます:[startIndex、endIndex、inc]これはサブ配列A [startIndex ... endIndex](startIndexおよびendIndexを含む)の各要素をincでインクリメントします。 k個の操作がすべて実行された後、変更された配列を見つける必要があります。 したがって、入力が長さ=5、更新=[[1,3,2]、[2,4,3]、[0,2、-2]]のような場合、出力は[-2,0]になります。 、3,5,3] これを解決するには、次の手順に

  15. C++で電話帳を設計する

    次の操作をサポートする電話帳を設計するとします- get-これは誰にも割り当てられていない番号を提供します。 check-これは番号が利用可能かどうかをチェックします。 リリース-これにより、番号がリサイクルまたはリリースされます。 イニシャライザを使用すると、最初にn個の数値を初期化できます これを解決するには、次の手順に従います- 1つのセットを定義する 使用可能なキューを1つ定義する イニシャライザはmaxNumbersを取ります。 N:=maxNumbers 初期化i:=0の場合、i

  16. C++でのシーケンスの再構築

    元のシーケンス組織がseqsのシーケンスから一意に再構築できるかどうかを確認する必要があるとします。元のシーケンスは、1からnまでの整数の順列であり、nは1≤n≤10^4の範囲にあります。ここで、再構成とは、シーケンス内のシーケンスの最短の共通スーパーシーケンスを作成することを意味します。 seqsから再構築できるシーケンスが1つだけで、それが元のシーケンスであるかどうかを確認する必要があります。 したがって、入力がorg =[1,2,3]、seqs =[[1,2]、[1,3]]のような場合、[1,2,3]はそうではないため、出力はfalseになります。 [1,3,2]は再構築可能な有効なシ

  17. C++で順列を見つける

    文字「D」と「I」で構成される秘密の署名があるとします。 「D」は2つの数値間の減少関係を示し、「I」は2つの数値間の増加関係を示します。そして、秘密の署名は、1からnまでのすべての異なる数を一意に含む特別な整数配列によって構築されました。 たとえば、秘密の署名「DI」は、[2,1,3]や[3,1,2]のような配列から構築できますが、[3,2,4]や[2、 1,3,4]、どちらも「DI」シークレット署名を表すことができない特殊な文字列を構成する違法です。 ここで、入力内の指定された秘密の署名を参照できる[1、2、...n]の辞書式最小の順列を見つける必要があります。 したがって、入力が「

  18. C++でのMaxConsecutiveOnes II

    バイナリ配列があるとします。最大で1つの0を反転できる場合は、この配列で連続する1の最大数を見つける必要があります。 したがって、入力が[1,0,1,1,0]の場合、最初のゼロを反転すると連続する1の最大数が得られるため、出力は4になります。反転後、連続する1の最大数は4です。 これを解決するには、次の手順に従います- ret:=1、n:=numsのサイズ nがゼロ以外の場合、- 0を返す j:=0、ゼロ:=0 初期化i:=0の場合、i

  19. C++の迷路

    空のスペースと壁のある迷路の中にボールがあるとします。これで、ボールは上、下、左、右などの任意の方向に転がることで空のパスを通過できますが、壁にぶつかるまで転がりが止まりません。ボールが止まると、次の方向を選択できます。 ボールの位置、目的地、迷路を開始し、ボールが目的地に止まるかどうかを確認する必要があります。迷路は1つの2D配列で表されます。ここで、1は壁を示し、0は空きスペースを示します。迷路の境界はすべて壁です。開始座標と宛先座標は、行と列のインデックスで表されます。 したがって、入力が2D配列で表される迷路のようなものである場合 0 0 1 0 0

  20. C++のMazeII

    空のスペースと壁のある迷路の中にボールがあるとします。これで、ボールは上、下、左、右などの任意の方向に転がることで空のパスを通過できますが、壁にぶつかるまで転がりが止まりません。ボールが止まると、次の方向を選択できます。 ボールの位置、目的地、迷路を開始する必要があります。ボールが目的地に停止するための最短距離を見つける必要があります。ここで、距離は実際にはボールで覆われている空のセルの数によって定義されます(開始位置を除く、開始位置を含む)。それが目的地でボールを止めることが不可能な場合は、-1を返します。 迷路は1つの2D配列で表されます。ここで、1は壁を示し、0は空きスペースを示しま

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:228/300  20-コンピューター/Page Goto:1 222 223 224 225 226 227 228 229 230 231 232 233 234