C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++ですべての有効な集配オプションを数える

    n個の注文のリストがあり、各注文に集配サービスがあるとします。配達[i]が常に集荷[i]の後にあるように、すべての有効な集荷/配達可能なシーケンスをカウントする必要があります。答えは非常に大きい可能性があるため、10 ^ 9+7を法として返します。 したがって、入力が2の場合、出力は6になります。これは、すべての可能な順序が(P1、P2、D1、D2)、(P1、P2、D2、D1)、(P1、D1、P2、D2)であるためです。 、(P2、P1、D1、D2)、(P2、P1、D2、D1)および(P2、D2、P1、D1)。また、集荷2は配達2の後なので、注文(P1、D2、P2、D1)は無効です。 これ

  2. C++での3の最大の倍数

    数字の配列が1つあるとすると、指定された数字の一部を任意の順序で連結することで形成できる3の最大の倍数を見つける必要があります。答えは非常に大きいかもしれないので、文字列として作成してください。答えがない場合は、空の文字列を返します。 したがって、入力が[7,2,8]の場合、出力は87になります。 これを解決するには、次の手順に従います- 1つの2D配列dを定義します。3つの行があります 配列の数字を並べ替える 合計:=0 初期化i:=0の場合、i <桁のサイズの場合、更新(iを1増やします)、do- x:=桁[i] d [x mod 3]の最後に

  3. C++の二分木の最大合計BST

    二分木ルートがあるとすると、二分探索木(BST)でもあるサブツリーのすべてのノードの最大合計を見つける必要があります。 したがって、入力が次のような場合、 その場合、出力は20になります。これは、選択したBST内のすべてのノードの合計です。 これを解決するには、次の手順に従います- Dataという1つのブロックを作成します。これには、sz、maxVal、minVal、ok、sumなどのメンバーが含まれます。また、この順序で取得するデータ用の初期化子を1つ定義します(sz、minVal、maxVal、ok、合計を0に設定) ret:=0 ソルブ()と呼ばれるメソッ

  4. C++でのT秒後のカエルの位置

    n個の頂点で構成される無向ツリーが1つあるとします。頂点には1からnまでの番号が付けられています。これで、カエルは頂点1からジャンプを開始します。カエルは、現在の頂点から、訪問していない別の頂点に隣接している場合、1秒でジャンプできます。カエルは、訪れた頂点に戻ることはできません。カエルが複数の頂点にジャンプできる場合は、そのうちの1つにランダムにジャンプします 確率が同じ場合、それ以外の場合、カエルが訪問していない頂点にジャンプできない場合、同じ頂点で永久にジャンプします。 ツリーはエッジの配列として与えられます。 t秒後にカエルが頂点ターゲットにいる確率を見つける必要があります。 し

  5. C++でのチームの最大パフォーマンス

    エンジニアがn人いるとします。それらには1からnまでの番号が付けられ、速度と効率の2つの配列もあります。ここでspeed[i]とefficiency[i]は、i番目のエンジニアの速度と効率を表します。最大でk人のエンジニアで構成されるチームの最大のパフォーマンスを見つける必要があります。答えは非常に大きい可能性があるため、10 ^ 9+7を法として返します。 ここで、チームのパフォーマンスは、エンジニアの速度の合計にエンジニア間の最小効率を掛けたものです。 したがって、入力がn =6、速度=[1,5,8,2,10,3]、効率=[9,7,2,5,4,3]、k =2の場合、出力は速度10と効率

  6. C++で3nスライスのピザ

    さまざまなサイズの3nスライスのピザがあるとすると、私と2人の友人は次のようにピザのスライスを取ります- ピザのスライスを選びます。 友達のアマルが私のピックの反時計回りに次のスライスをピックします。 友達のBimalが、私のピックの時計回りに次のスライスをピックします。 ピザのスライスがなくなるまで、これらの手順を繰り返します。 ピザスライスのサイズは、時計回りの円形配列スライスで表されます。可能な最大のスライスサイズの合計を見つける必要があります。 したがって、入力が[9,8,6,1,1,8]のような場合、 次に、各ターンでサイズ8のピザスライスを選

  7. C++で最長のハッピープレフィックス

    文字列sがあるとすると、sの最長のハッピープレフィックスを見つける必要があります。文字列が空でないプレフィックスであり、サフィックス(それ自体を除く)でもある場合、その文字列はハッピープレフィックスと呼ばれます。そのようなハッピープレフィックスがない場合は、単に空白の文字列を返します。 したがって、入力が「madam」のような場合、出力は「m」になり、それ自体を除いて4つのプレフィックスがあります。これらは、「m」、「ma」、「mad」、「mada」、および「m」、「am」、「dam」、「adam」のような4つの接尾辞です。接尾辞でもある最大の接頭辞は「m」で与えられます。 これを解決する

  8. C++ですべての適切な文字列を検索

    2つの文字列s1とs2があるとします。これらの文字列のサイズはnであり、evilと呼ばれる別の文字列もあります。良い文字列の数を見つける必要があります。 文字列は、そのサイズがnで、アルファベット順にs1以上であり、アルファベット順にs2以下であり、サブストリングとして悪がない場合に、goodと呼ばれます。答えは非常に大きい可能性があるため、10 ^ 9+7を法として答えを返します。 したがって、入力がn =2、s1 =bb、s2 =db、evil =aの場合、bで始まる25個の適切な文字列があるため、出力は51になります。 bb、 bc、 bd、... bzの場合、 cb、 cc、 cd

  9. C++での料理の削減

    シェフがいるとします。そして、彼は彼のn個の料理の満足度に関するデータを収集しました。シェフは1単位時間でどんな料理でも調理できます。料理の時間係数は実際にはかかった時間です 以前の料理に満足度を掛けた料理を含むその料理を調理するSotime[i]*successfaction[i]。 シェフが料理の準備後に取得できるLike-time係数の最大合計を見つける必要があります。料理は任意の順序で準備でき、シェフはこの最大値を得るためにいくつかの料理を捨てることができます。 したがって、入力が[-1、-7,0,6、-7]の場合、出力は17になります。2番目で最後の皿を削除した後、最大合計類似

  10. C++のストーンゲームIII

    アマルとビマルが石の山で遊んでいるとしましょう。いくつかの石が一列に並んでおり、各石には、stoneValueと呼ばれる配列で指定された数値である値が関連付けられています。 AmalとBimalが交代で、Amalが最初に開始します。各プレイヤーのターンで、彼/彼女は列の最初の残りの石から1、2、または3つの石を取ることができます。 各プレイヤーのスコアは、取った石の値の合計です。最初のスコアは0です。ゲームの目標は最高スコアで終了することであり、勝者は最高スコアのプレーヤーであり、同点になる可能性もあります。ゲームはすべての石が奪われるまで続きます。 AmalとBimalが最適にプレイし

  11. C++でN×3グリッドをペイントする方法の数

    サイズnx3のグリッドがあり、グリッドの各セルを3色のうちの1つだけでペイントするとします。色は赤、黄、緑です。これで、隣接する2つのセルが同じ色にならないという制約があります。グリッドの行数はnです。このグリッドをペイントする方法の数を見つける必要があります。答えは非常に大きい可能性があるため、10 ^ 9+7を法として返します。 したがって、入力が1のような場合、出力は12になります これを解決するには、次の手順に従います- m =1 ^ 9 + 7 関数add()を定義します。これには、a、b、が必要です。 return((a mod m)+(b mod m

  12. C++でアレイを復元する

    配列Aの配列要素を出力するために使用されるプログラムがありますが、プログラムに少し間違いがあったとします。そのプログラムでは、各要素の後に空白がありませんでした。したがって、印刷された文字列が1つある場合、配列を再生成できますか?配列要素が1からkの範囲にあることがわかっています。 文字列sと整数kが与えられます。アレイを復元できる方法がいくつあるかを見つける必要があります。答えは非常に大きい可能性があるため、10 ^ 9+7を法として返します。 したがって、入力がS =1318、k =2000の場合、[1318]、[131,8]、[13,18]、[1,318のような8つの異なる配列を形成

  13. C++での制約付きサブシーケンスの合計

    numsと整数kという配列があるとすると、その配列の空でないサブシーケンスの最大合計を見つける必要があります。サブシーケンス内の2つの連続する数値ごとに、nums[i]とnums[j]となります。 i

  14. C++で互いに異なる帽子をかぶる方法の数

    1から40までのラベルが付けられたn人と40種類の帽子があるとします。ここで、帽子と呼ばれる2Dリストが与えられます。ここで、hats[i]はすべての帽子のリストです。 i番目の人が好む。 n人がお互いに異なる帽子をかぶる方法の数を見つける必要があります。答えは非常に大きくなる可能性があるため、10 ^ 9+7を法として答えを返します。 したがって、入力が[[4,6,2]、[4,6]]の場合、出力は4になります。これは、[4,6]、[6、 4]、[2,4]、[2,6]。 これを解決するには、次の手順に従います- m =10 ^ 9 + 7 サイズ55x2^11の2D配列dpを

  15. C++で並べ替えられた行を持つ行列のK番目に小さい合計を見つける

    matと呼ばれる1つのm*n行列があり、整数kの場合、matの行は降順ではない順序で並べ替えられます。各行から正確に1つの要素を選択して、配列を形成できます。考えられるすべての配列の中で、K番目に小さい配列の合計を見つける必要があります。 したがって、入力がmat =[[1,3,11]、[2,4,6]]のような場合 1 3 1 1 2 4 6 k =5の場合、出力は7になります。これは、各行から1つの要素を選択すると、最初のk個の最小の合計が[1,2]、[1,4]、[3,2]、[3,4]になるためです。 、[1,6]。ここで5番目の合計は7

  16. C++プログラミングの個別のサブシーケンス

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

  17. Pythonプログラミングにおける二分木ポストオーダートラバーサル

    二分木があるとします。反復アプローチを使用して、このツリーのポストオーダートラバーサルを見つける必要があります。したがって、ツリーが次のような場合- その場合、出力は次のようになります:[9,15,7,10、-10] これを解決するには、次の手順に従います- ルートがnullの場合、空の配列を返します 配列を作成するret stack:=ペア[root、0]でスタックを定義します スタックが空でない間- node:=スタックの一番上にあり、スタックから要素を削除します。 ノードペアの2番目の値が0の場合、 current:=ノードペアの最初

  18. C++でのSetとMultiSetの違い

    C ++では、SetとMultiSetはどちらも、簡単にアクセスして挿入できるようにデータを格納するために使用されるデータ構造のタイプです。これら両方のデータ構造の特性に基づいて、SetとMultiSetを区別できます。 SetとMultiSetの重要な違いは次のとおりです- Sr。いいえ。 キー セット マルチセット 1 定義 Set in C ++は、データをキーと値のペアで格納し、要素の値によって識別されるため、各値要素が一意である必要がある連想コンテナの一種として定義できます。 一方、MultiSetはC ++ STL(標準テンプレートライブラリ)の一部であり、ソー

  19. C++でのSetとUnOrderSetの違い

    C ++では、SetとUnOrderSetの両方が、簡単にアクセスして挿入できるようにデータを格納するために使用されるデータ構造のタイプです。これら両方のデータ構造の特性に基づいて、SetとUnOrderSetを区別できます SetとUnOrderSetの重要な違いは次のとおりです- Sr。いいえ。 キー セット UnOrderSet 1 定義 Set in C ++は、データをキーと値のペアで格納し、要素の値によって識別されるため、各値要素が一意である必要がある連想コンテナの一種として定義できます。 一方、UnOrderSetはC ++ STL(標準テンプレートライブ

  20. C++で挿入位置を検索

    ソートされた配列arrとターゲット値があるとすると、ターゲットが見つかったときにインデックスを見つける必要があります。それが存在しない場合は、順番に挿入された場合のインデックスを返します。 したがって、入力が[1,3,4,6,6]のようで、target =5の場合、インデックス3に5を挿入できるため、出力は3になり、配列は[1,3、 4,5,6,6] これを解決するために、次の手順に従います- n:=Aのサイズ n <1の場合、- 0を返す 低:=0、高:=n-1 低い<=高い間、実行- 中:=低+(高-低)/ 2 A [mid]がターゲ

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:185/300  20-コンピューター/Page Goto:1 179 180 181 182 183 184 185 186 187 188 189 190 191