C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++で回文を壊す

    回文文字列の回文があるとすると、文字列が回文ではない字句的に最小の文字列になるように、1文字を小文字の英語文字に置き換える必要があります。そうしたら、最後の文字列を見つける必要があります。そうする方法がない場合は、空の文字列を返します。したがって、入力が「abccba」のような場合、出力は「aaccba」になります。 これを解決するには、次の手順に従います- 変更:=false 文字列のサイズが1の場合は、空白の文字列を返します i:=0およびj:=sの長さ– 1 leftA:=TrueおよびrightA:=True i

  2. C++で行列を斜めに並べ替える

    N x M行列があるとすると、これを左上から右下に向かって昇順で対角線上に並べ替える必要があります。したがって、行列が-のような場合 3 3 1 1 2 2 1 2 1 1 1 2 出力行列は-になります 1 1 1 1 1 2 2 2 1 2 3 3 これを解決するには、次の手順に従います- Solve()というメソッドを定義します。これには、si、sj、および行列マットが必要です。 n:=行数およびm:=列数 tempと呼ばれる配列を

  3. ビーガンフレンドリー、価格、C++での距離でレストランをフィルタリング

    レストラン[i]が[idi、ratingi、veganfriendly、pricei、distancei]を持っているレストランの配列があると仮定します。 3つのフィルターを使用してレストランをフィルター処理する必要があります。 ビーガンフレンドリーフィルターは、true(ビーガンフレンドリーがtrueに設定されているレストランのみを含める必要があることを意味します)またはfalse(任意のレストランを含めることができることを意味します)のいずれかになります。 maxPriceフィルターとmaxdistanceフィルターは、それぞれ考慮すべきレストランの価格と距離の最大値です。

  4. C++でしきい値距離にある近隣の数が最も少ない都市を検索します

    0からn-1までの番号が付けられたn個の都市があるとします。 edge [i] =[fromi、toi、weighti]である配列エッジがある場合、都市fromiとtoiの間の双方向の重み付きエッジを表し、整数の距離しきい値が与えられます。あるパスを介して到達可能で、距離が最大で距離のしきい値である都市の数が最も少ない都市を見つける必要があります。そのような都市が複数ある場合は、最も多い都市を返します。 したがって、入力が-のような場合 nが4で、距離のしきい値も4の場合、出力は3になります。これは- 各都市の距離しきい値=4にある隣接する都市は、- C0 -> [C1, C

  5. C++で配列サイズを半分に減らします

    配列arrがあるとします。整数のセットを選択して、配列内のこれらの整数のすべての出現を削除できます。配列の整数の少なくとも半分が削除されるように、セットの最小サイズを見つける必要があります。したがって、たとえば、arr =[3,3,3,3,5,5,5,2,2,7]の場合、出力は2になります。これは、{3,7}を選択すると次のようになるためです。サイズ5の新しい配列[5,5,5,2,2](これは古い配列のサイズの半分に相当します)。サイズ2の可能なセットは、{3,5}、{3,2}、{5,2}です。セット{2,7}を選択すると、古い配列の半分のサイズの新しい配列[3,3,3,3,5,5,5]が作成

  6. サイズKで平均がC++のしきい値以上のサブアレイの数

    整数arrの配列と2つの整数kおよびしきい値があるとします。サイズがkで、平均がしきい値以上のサブ配列の数を見つける必要があります。したがって、入力が[2,2,2,2,5,5,5,8]で、k =3、しきい値=4の場合、出力は3になります。サブ配列[2,5,5] 、[5,5,5]と[5,5,8]の平均はそれぞれ4、5、6です。 これを解決するには、次の手順に従います- sum:=0、div:=kおよびn:=配列内の要素の数 set sum:=arrのすべての要素の合計 ret:=0 i:=0およびjがkからn– 1の範囲にある場合、iとjの両方を1増やします =

  7. C++の時計の針の間の角度

    時間と分の2つの数値があるとします。時針と分針の間に形成される小さな角度(六十進法の単位)を見つける必要があります。したがって、入力が時間=12および分:=30のような場合、結果は165°になります。 これを解決するには、次の手順に従います- h =12の場合、h:=0を設定します m =60の場合、m:=0を設定します hAngle:=0.5 *(60h)+ m マングル:=6m ret:=| hAngle --mAngle | 最小のretと(360 – ret)を返す 例(C ++) 理解を深めるために、次の実装を見てみましょう- #in

  8. C++で2つの文字列アナグラムを作成するための最小ステップ数

    2つの同じサイズの文字列sとtがあるとします。 1つのステップで、tの任意の文字を選択し、それを別の文字に置き換えることができます。 tをsのアナグラムにするために必要な最小ステップ数を見つける必要があります。注:文字列のアナグラムは、同じ文字を異なる(または同じ)順序で含む文字列です。 したがって、入力が「yxy」と「xyx」の場合、置換する必要があるのは1文字だけなので、出力は1になります。 これを解決するには、次の手順に従います- n:=s内の文字のサイズ マップmを作成し、これにsに存在する各文字の頻度を入力し、別のマップm2を作成し、これにtに存在する各文字の頻度を入力し

  9. C++の最後のK番号の積

    2つのメソッドをサポートするProductOfNumbersというクラスを実装しているとします- add(int num):これにより、現在の数値リストの後ろに数値numが追加されます。 getProduct(int k):これは、現在のリストの最後のk個の数値の積を返します。 現在のリストには常に少なくともk個の番号があると想定できます。したがって、たとえば、入力が-add(3)、add(0)、add(2)、add(5)、add(4)、getProduct(2)、getProduct(3)、getProduct(4)、 add(8)、getProduct(2)の場合、出力は

  10. C++で参加できるイベントの最大数

    events [i] =[startDayi、endDayi]であるイベントの配列があるとします。ここで、私がstartDayiで開始し、endDayiで終了するすべてのイベント。範囲startTimeiとendTimei(両方を含む)のdである任意の日dにイベントIに参加できます。一度に参加できるイベントは1つだけであることに注意する必要があります。だから私たちが参加できるイベントの最大数を見つけてください。したがって、たとえば、入力が[[1,4]、[4,4]、[2,2]、[3,4]、[1,1]]の場合、出力は1になります。 [1、1]、[2、2]、[3、4]、[4、4]の最大4つのイベント

  11. C++でn注文ごとに割引を適用する

    スーパーマーケットでセールがあるとすると、n人の顧客ごとに割引が適用されます。スーパーマーケットに、i番目の商品のIDがproducts [i]であり、この商品の単位あたりの価格がprices[i]である商品があるとします。ここでは、システムが顧客の数をカウントし、n番目の顧客が到着すると、請求額が割引になります。その後、システムは再び顧客のカウントを開始します。顧客は各製品の特定の量を注文します。ここで、product [i]は顧客が注文したi番目の製品のIDであり、amount[i]は顧客がその製品に注文したユニットの数です。したがって、このシステムを実装する必要があります。キャッシャーク

  12. C++の3文字すべてを含む部分文字列の数

    文字a、b、cのみで構成される文字列sを指定したとします。これらすべての文字a、b、およびcが少なくとも1回出現する部分文字列の数を返す必要があります。したがって、たとえば、文字列が「abcabc」の場合、出力は10になります。これは、文字a、b、およびcの少なくとも1つのオカレンスを含むサブ文字列であり、これらは「abc」、「abca」、「abcab」、 「abcabc」、「bca」、「bcab」、「cab」、「cabc」、「abc」(これも最後の部分です)。 これを解決するには、次の手順に従います- ret:=0、mというマップを作成し、j:=0を設定します。 0からsのサイ

  13. C++でバイナリツリーノードを検証する

    0からn-1までの番号が付けられたn個の二分木ノードがあり、ノードIに2つの子leftChild[i]とrightChild[i]があるとすると、次の場合にのみtrueと言う必要があります。指定されたすべてのノードは、正確に1つの有効な二分木を形成します。ノードiに左の子がない場合、leftChild [i]は-1に等しくなります。これは、右の子の場合と同様です。ノードには値がなく、この問題ではノード番号のみを使用することに注意する必要があります。したがって、入力が-のような場合 その後、出力はtrueになります。 これを解決するには、次の手順に従います- dfsというメソッド

  14. C++で最も近い除数

    整数numがあるとすると、絶対差で最も近い2つの整数を見つけなければならず、その積はnum+1またはnum+2に等しくなります。2つの整数を任意の順序で見つける必要があります。したがって、入力が8の場合、出力は[3、3]になり、num + 1の場合は9になり、最も近い除数は3と3になり、num + 2 =10の場合、最も近い除数は2と5になります。したがって、3と3が選択されます。 これを解決するには、次の手順に従います- getDiv()というメソッドを定義します。これはxを入力として受け取ります diff:=infinity、サイズ2のretという配列を作成します fo

  15. C++のバイナリツリーのリンクリスト

    二分木ルートと、最初のノードとしてヘッドを持つリンクリストがあるとします。リンクリスト内の先頭から始まるすべての要素が、バイナリツリーで接続されている下向きのパスに対応している場合はTrueを返す必要があり、そうでない場合はFalseを返す必要があります。したがって、ツリーが次のような場合- リンクリストが[1,4,2,6]の場合、出力はtrueになります。 これを解決するには、次の手順に従います- マップdpを定義する ソルブ()と呼ばれるメソッドを定義します。これはヘッド、ルート、フラグを取ります ヘッドがnullの場合はtrueを返し、ルートがnullの場合は

  16. C++のバイナリツリーで最長のZigZagパス

    二分木のルートがあるとすると、二分木のZigZagパスは次のように定義されます- 二分木の任意のノードと方向(右または左)を選択します。 現在の方向が正しい場合は、現在のノードの右の子に向かって移動します。それ以外の場合は、左の子に向かって移動します。 次に、方向を右から左に、またはその逆に変更します。 ツリー内を移動できなくなるまで、2番目と3番目の手順を繰り返します。 ここで、ジグザグの長さは、訪問したノードの数-1として定義されます(単一のノードの長さは0です)。そのツリーに含まれる最長のZigZagパスを見つける必要があります。たとえば、ツリーが-のような

  17. C++の電球スイッチャーIII

    n個の電球がある部屋があるとします。これらの電球には、1からnまでの番号が付けられ、左から右に一列に並んでいます。最初は、すべての電球がオフになっています。瞬間k(0からn-1の範囲のkの場合)で、light[k]電球をオンにします。電球がオンになっていて、前のすべての電球(左側)もオンになっている場合にのみ、電球の色が青に変わります。オンになっているすべての電球が青色になっている瞬間の数を見つける必要があります。これが例です- モーメントが1、2、4であるため、出力は3になります。 これを解決するには、次の手順に従います- ret:=0、セットxを定義、n:=リスト配列のサイ

  18. C++ですべての従業員に通知するために必要な時間

    会社に、従業員ごとに一意のIDを持つn人の従業員がいるとします。これらのIDの範囲は0からn-1です。会社の責任者はheadIDを持つものです。各従業員には、manager配列で指定された1人の直属の上司がいます。ここで、manager [i]はi番目の従業員の直属の上司であり、manager [headID]=-1です。また、従属関係がツリーのような構造になることが保証されています。ここで、会社の責任者は、会社のすべての従業員に緊急のニュースを通知したいと考えています。彼は直属の部下に通知することができ、すべての従業員が緊急のニュースを知るまで、部下などに通知します。 i番目の従業員は、すべ

  19. C++のそのツリーのクローンでバイナリツリーの対応するノードを見つける

    元の2つのバイナリツリーがあり、クローンが作成され、元のツリーのノードターゲットへの参照が指定されているとします。複製されたツリーは、実際には元のツリーのコピーです。複製されたツリーで同じノードへの参照を見つける必要があります。 したがって、ツリーが以下のようになり、ターゲットが3の場合、出力は3になります。 これを解決するには、次の手順に従います- Solve()というメソッドを定義します。これにより、node1mnode2とtargetが取得されます node1がnullの場合、nullを返します node1がターゲットで、node 1の値がnode2の値である

  20. C++でインクリメント操作を使用してスタックを設計する

    次の操作をサポートするスタックを設計するとします。 CustomStack(int maxSize)これは、スタック内の要素の最大数であるmaxSizeでオブジェクトを初期化するか、スタックがmaxSizeに達した場合は何もしません。 void push(int x)これは、スタックがmaxSizeに達していない場合に、スタックの一番上にxを挿入します。 int pop()これにより、スタックの最上位が削除されて返されます。スタックが空の場合は-1が返されます。 void inc(int k、int val)これは、スタックの一番下のk要素をvalだけインクリメントしま

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:150/300  20-コンピューター/Page Goto:1 144 145 146 147 148 149 150 151 152 153 154 155 156