C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++で間隔を挿入

    重複しない間隔のセットがあるとします。間隔に新しい間隔を挿入する必要があります。必要に応じてマージできます。したがって、入力が− [[1,4]、[6,9]]のようで、新しい間隔が[2,5]の場合、出力は[[1,5]、[6,9]]になります。 これを解決するには、次の手順に従います- 前の間隔リストの最後に新しい間隔を挿入します 間隔の初期時間に基づいて間隔リストを並べ替えます。n:=間隔の数 ansという1つの配列を作成し、最初の間隔をansに挿入します インデックス:=1 インデックス

  2. C++でのテキストの位置揃え

    単語の配列と幅maxWidthがあるとすると、各行の文字数が正確にmaxWidthになり、完全に両端揃えになるようにテキストをフォーマットする必要があります。貪欲なアプローチで言葉を詰め込む必要があります。つまり、各行にできるだけ多くの単語を詰め込みます。各行が正確にmaxWidth文字になるように、必要に応じて余分なスペースを埋め込みます。 ここでは、単語間の余分なスペースをできるだけ均等に配置する必要があります。 1行のスペースの数が単語間で均等に分割されていない場合、左側の空のスロットには、右側のスロットよりも多くのスペースが割り当てられます。テキストの最後の行は、左揃えにし、単語の間

  3. C++で距離を編集する

    word1とword2の2つの単語があるとすると、word1からword2に協調するために必要な操作の最小数を見つける必要があります。操作には、文字の挿入、文字の削除、文字の置換の3種類があります。したがって、入力文字列が「評価」および「変動」の場合、結果は5になります。 これを解決するには、次の手順に従います- n:=w1のサイズ、m:=w2のサイズ、 サイズn+1の配列dpを作成します 0からnの範囲のiの場合 dp [i]:=サイズm+1の新しい配列 0からmの範囲のjの場合- dp [i、j]:=0 i =0の場合、dp [i、j] =j

  4. C++での最小ウィンドウサブストリング

    文字列SとTがあるとします。Tのすべての文字を含む最小ウィンドウをSで見つける必要があります。したがって、入力が「ABHDAXCVBAGTXATYCB」のようで、T =「ABC」の場合、結果は次のようになります。 CVBA」。 これを解決するには、次の手順に従います- 1つのマップを作成するm xの頻度をmに格納する 長さ:=sのサイズ、左:=0、右:=0、ansLeft:=0、ansRight:=0 カウンター:=xのサイズ、フラグ:=false、ans:=空の文字列 高さ

  5. C++での最大長方形

    0と1の値が存在する2Dバイナリ行列があるとします。 1のみを含む最大の長方形を見つけて、その面積を返す必要があります。 これを解決するために、次の手順に従います- getAnsという関数を定義します。これは配列aを取ります スタックst、i:=0、ans:=0を作成します i

  6. C++での文字列のインターリーブ

    3つの文字列s1、s2、s3があるとします。次に、s1とs2をインターリーブしてs3が形成されているかどうかを確認します。したがって、文字列が「aabcc」、s2 =「dbbca」、s3が「aadbbcbcac」の場合、結果はtrueになります。 これを解決するには、次の手順に従います- solve()と呼ばれる1つのメソッドを定義します。これには、s1、s2、s3、および1つの3d配列dp、次にi、j、kが必要です。 i=0かつj=0かつk=0の場合、trueを返します dp [i、j、k]が-1でない場合は、dp [i、j、k]を返します。 ans:=false

  7. C++でバイナリ検索ツリーを回復する

    1つの二分探索木があるとします。ここで、このBSTの2つの要素が交換されていると考えて、この二分探索木を回復する必要があります。 したがって、指定されたツリーが以下のようになっている場合(最初のツリー)、復元されたツリーは(2番目のツリー)- これを解決するには、次の手順に従います- ノードの前、最初、2番目の参照を定義する findProblem()と呼ばれる1つのメソッドを定義します。これは、ノードを取ります ノードがnullの場合は、を返します。 findProblem(ノードの左側)を呼び出す ノードの値の場合 firstがnullの場合、f

  8. C++の個別のサブシーケンス

    文字列SとTがあるとします。Tに等しいSの異なるシーケンスの数を数える必要があります。 文字列のサブシーケンスは、残りの文字の相対位置を乱すことなく、文字の一部(なしでもかまいません)を削除することによって元の文字列から形成される新しい文字列であることがわかっています。 (同様に、「ACE」は「ABCDE」のサブシーケンスですが、「AEC」はサブシーケンスではありません)。 入力文字列が「baalllloonnn」と「balloon」の場合、36通りの選択方法があります。 これを解決するには、次の手順に従います- n:=sのサイズ、m:=tのサイズ。 sとtの前に空白を連結して、s

  9. C++でのパリンドロームパーティショニングII

    文字列sがあるとすると、この文字列を異なるサブ文字列に分割するために必要なカット数を見つける必要があり、各部分は回文です。したがって、弦が「ababba」のようなものである場合、これは2カットかかります。 [aba | bb | a] これを解決するには、次の手順に従います- n:=文字列内の文字数s サイズn+1のresという1つの配列を作成します res [n]:=-1 n –1から0までの範囲のiの場合 res [i]:=n – i – 1 iからnの範囲のjの場合 インデックスiからjまでのaの部分文字列– iが回文である場合、

  10. C++のキャンディー

    N人の子供がいて、並んでいるとします。ここでは、各子に評価値が割り当てられています。以下の要件を満たしたこれらの子供たちにキャンディーを供給しています- 各子供は少なくとも1つのキャンディーを持っている必要があります。 評価が高い子供は、隣人よりも多くのキャンディーを手に入れます。 与える必要のあるキャンディーの最小数を見つける必要がありますか? したがって、入力が[1,1,3]の場合、出力は4になります。したがって、それぞれ1、1、2個のキャンディーが得られます。 これを解決するには、次の手順に従います- n:=配列の評価のサイズ、サイズnのdpという配列を作成し

  11. C++でのライン上の最大ポイント

    2D平面があるとします。同じ直線上にある点の最大数を見つける必要があります。したがって、ポイントが次のような場合- それから4つのポイントがあります これを解決するには、次の手順に従います- n:=ポイントの数、n <3の場合、nを返します ans:=2 1からn–1の範囲のiの場合 カウント:=0 インデックスiとi– 1から2つのポイントを取ります。これらは、p1、p2です。 p1ポイントとp2ポイントが同じ場合、 0からn–1の範囲のjの場合 points [j] .x=p1.xおよびpoints[j].y =p1.yの場合、

  12. C++の回転ソート配列IIで最小値を見つける

    並べ替えられた配列があり、それがピボットで回転しているとします。ピボットはこれまで知られていません。その配列から最小要素を見つける必要があります。したがって、配列が[4,5,5,5,6,8,2,3,4]のような場合、最小要素は2です。 これを解決するには、次の手順に従います- search()と呼ばれる1つのメソッドを定義します。これには、arr、low、highが必要です low =highの場合、arr [low]を返します 中:=低+(高–低)/ 2 ans:=inf arr [low]

  13. C++での最大ギャップ

    ソートされていない配列があるとします。ソートされた形式で、連続する要素間の最大の違いを見つける必要があります。配列に含まれる要素が2つ未満の場合は、0を返します。したがって、配列が[12,3,9,1,17]の場合、並べ替えられた配列は[1,3,9,12,17]になるため、出力は6になり、5が最大差になります。 3と9の差は6です。 これを解決するには、次の手順に従います- minVal:=inf、maxCal:=-inf n:=numsのサイズ n <2の場合、0を返します; 0からn– 1 −の範囲のiの場合 minVal:=nums[i]とminValの

  14. C++のダンジョンゲーム

    悪魔がPという名前の王女を捕まえて、ダンジョンの右下隅に閉じ込めたような話があるとします。ダンジョンは、M列、N列のグリッドのような部屋で構成されています。 Kという名前の勇敢な騎士は、最初は左上の部屋に配置されていたため、王女を救出するためにダンジョンを通り抜ける必要があります。 これで、騎士は正の整数で表される初期ヘルスポイントを持ちます。いずれかの時点で彼のヘルスポイントが0以下に下がると、彼はその瞬間に死亡します。 一部の部屋にはその部屋を守るための悪魔がいるため、騎士はこれらの部屋に入ると体力を失います(負の整数)。他の部屋は空であるか、騎士の健康を増進する魔法の球を含んでいます

  15. C++で株式IVを売買するのに最適な時期

    i番目の要素がi日の特定の株式の価格である配列があるとします。最大の利益を見つけるためのアルゴリズムを考案する必要があります。最大でk個のトランザクションを完了できます。したがって、入力が[3,2,6,4,0,3]のようで、k =2の場合、出力は7になり、2日目(価格=2の場合)に購入し、3日目(価格の場合)に販売します。 =6)、利益は6-2 =4になります。次に、5日目に購入(価格は0)、6日目に販売(価格は3)、利益は3-0=3になります。 これを解決するには、次の手順に従います- 次数N+5 x N + 5x2の3D配列を1つ定義します pre()と呼ばれる1つのメソッド

  16. C++で最短の回文

    文字列sがあるとします。その前に文字を追加することで、回文に変換できます。この情報を実行することで見つけることができる最短の回文を見つける必要があります。したがって、文字列が「abcc」のような場合、結果は「ccbabcc」になります。 これを解決するには、次の手順に従います- n:=sのサイズ、s1:=s、s2:=s 文字列s2を逆にします s2:=s concatenate # concatenate s2 s2と同じサイズの配列lpsを定義します j:=0、i:=1 i

  17. C++の基本的な電卓

    基本的な式の結果を見つける1つの基本的な計算機を作成するとします。式は、開き括弧と閉じ括弧、プラスまたはマイナス記号、および空のスペースを保持できます。 したがって、文字列が「5 + 2-3」のような場合、結果は7になります これを解決するには、次の手順に従います- ret:=0、sign:=1、num:=0、n:=sのサイズ 1つのスタックstを定義する iを初期化する場合:=0、i

  18. C++での1桁の数

    数nがあるとすると、n以下のすべての非負の数に現れる数字1の総数を数える必要があります。したがって、入力が15の場合、出力は8になります。これは、1を含む数値が[1,10,11,12,13,14,15]であるため、81が8つあるためです。 これを解決するには、次の手順に従います- ret:=0 i:=1を初期化する場合、i <=nの場合、i =i * 10 do − a:=n / i、b:=n mod i、x:=a mod 10 xが1と同じ場合、 ret =ret +(a / 10)* i +(b + 1) それ以外の場合、xが0と同じ場合、-

  19. C++でのスライディングウィンドウの最大値

    numsという配列があるとすると、配列の左から右に移動するサイズkのスライディングウィンドウがあります。ウィンドウにはk個の数字しか表示されません。スライディングウィンドウが1つの位置だけ右側に移動するたび。最大スライディングウィンドウを見つける必要があります。したがって、入力が-[1,3、-1、-3,5,3,6,8]のようで、kが3の場合、ウィンドウは-のようになります。 ウィンドウの位置 最大 1 3 -1 -3 5 3 6 8 3 1 3 -1 -3 5 3 6 8 3 1 3 -1

  20. C++での式追加演算子

    0から9までの数字のみを保持する文字列があるとします。そして、1つのターゲット値が与えられます。ターゲット値を取得するには、2項演算子+、-、および*を数字に追加するためのすべての可能性を返す必要があります。したがって、入力が「232」のようで、ターゲットが8の場合、答えは[“ 2 * 3 + 2”、“ 2 + 3 * 2”]になります。 これを解決するには、次の手順に従います- Solve()と呼ばれるメソッドを定義します。これは、index、s、curr、target、temp、mult-を取ります。 =sのサイズの場合、 ターゲットがcurrと同じ場合、 ret

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:175/300  20-コンピューター/Page Goto:1 169 170 171 172 173 174 175 176 177 178 179 180 181