C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++で線の中点を見つけるプログラム

    この問題では、線の始点と終点の2つの点AとBが与えられます。私たちの仕事は、C++で線の中点を見つけるプログラムを作成することです。 問題の説明 −ここでは、開始点と終了点がA(x1、y1)とB(x2、y2)の線があります。そして、線の中点を見つける必要があります。 問題を理解するために例を見てみましょう 入力 a(x1, y1) = (4, -5) b(x2, y2) = (-2, 6) 出力 (1, 0.5) 説明 (x1 + x2)/2 = 4 - 2 / 2 = 1 (y1 + y2)/2 = -5 + 6 / 2 = 0.5 ソリューションアプローチ この問題を解決する

  2. C ++で配列の最小(または最大)要素を見つけるプログラム

    この問題では、n個の整数の配列arr[]が与えられます。私たちのタスクは、C++で配列の最小要素と最大要素を見つけるプログラムを作成することです。 問題の説明 −ここに、配列arr[]があります。にはn個の整数値が含まれます。配列のすべての値から最大値と最小値を見つける必要があります。 問題を理解するために例を見てみましょう 入力 arr[] = {2, 1, 6, 9, 4, 10, 15, 21} 出力 max = 21 , min = 1 ソリューションアプローチ 問題には複数の解決策があります 1つのソリューション 配列の要素を直接比較します。これは、配列の各要素をチェックし

  3. C++での奇数ジャンプ

    配列Aがあるとします。いくつかの開始インデックスから、一連のジャンプを行うことができます。シリーズの位置(1、3、5、...)ジャンプは奇数ジャンプと呼ばれ、シリーズの位置(2、4、6、...)ジャンプは偶数ジャンプと呼ばれます。 これで、インデックスiからインデックスj(i

  4. C++のユニークパスIII

    2次元グリッドが1つあるとすると、4種類の正方形があります- 正方形の1は出発点です。開始する正方形は1つだけです。 正方形の2は終点です。終了する正方形は1つだけです。 正方形の0は空の正方形を表し、上を歩くことができます。 正方形-1で、歩くことができない障害物の場合。 障害物のないすべての正方形を1回だけ歩く、開始正方形から終了正方形までの4方向の歩行の数を見つける必要があります。 したがって、入力が-のような場合 1 0 0 0 0 0 0 0 1 0 2 -1 (0,0)、(0,1)

  5. C++でプレオーダートラバーサルからツリーを回復する

    二分木があるとします。二分木のルートで事前注文の深さ優先探索を実行します。 このトラバーサルの各ノードで、出力はD個のダッシュ(ここでDはこのノードの深さ)になり、その後、このノードの値が表示されます。ノードの深さがDであるかどうかはわかっているので、その直接の子の深さはD + 1であり、ルートノードの深さは0です。 ノードに子が1つしかない場合、その子は左の子であることが保証されることを覚えておく必要があります。したがって、このトラバーサルの出力Sが与えられた場合は、ツリーを回復してそのルートを返します。 したがって、入力が「1-2--3--4-5--6--7」の場合、出力は こ

  6. C++の各パズルの有効な単語の数

    パズルの文字列があるとすると、次の両方の条件が有効な場合、単語は有効です- 単語にはパズルの最初の文字が含まれています。 単語の各文字について、その文字はパズルの中にあります。 パズルが「abcdefg」のようなものである場合、有効な単語は「顔」、「キャベツ」などであるという例を考えてみましょう。ただし、一部の無効な単語は、「a」がないため「強化」され、パズルに存在しない「s」があるため「ベース」になります。 答えのリストを見つける必要があります。ここで、answer [i]は、パズルパズル[i]に関して有効な特定の単語リストの単語の数です。 したがって、入力がwords

  7. C++でいくつかの手順を実行した後も同じ場所にとどまる方法の数

    サイズarrLenの配列があり、その配列のインデックス0にもポインタがあるとします。各ステップで、アレイ内で1つの位置を左に移動するか、1つの位置を右に移動するか、同じ場所にとどまることができます。 ここで、2つの整数ステップとarrLenがあるとすると、正確なステップの後もポインターがインデックス0に留まるような方法の数を見つける必要があります。答えが非常に大きい場合は、10 ^ 9+7を法として返します。 したがって、入力がsteps =3、arrLen =2のような場合、出力は4になります。これは、3つのステップの後でインデックス0に留まる4つの異なる方法があるためです。これらは、[

  8. C++での最小立ち下がりパス合計II

    グリッドarrがあるとします。これは正方形のグリッドであり、ゼロ以外のシフトを伴う立ち下がりパスは、隣接する行で選択された2つの要素が同じ列に存在しないように、arrの各行から正確に1つの要素を選択します。ゼロ以外のシフトを伴う立ち下がりパスの最小合計を見つける必要があります。 したがって、入力がarrが[[1,2,3]、[4,5,6]、[7,8,9]]のようである場合、異なる立ち下がりパスがあるため、出力は13になります。これらは、[1,5,9]、[1,5,7]、[1,6,7]、[1,6,8]、[2,4,8]、[2,4,9]のようなものです。 、[2,6,7]、[2,6,8]、[3,4,8

  9. C++で障害物を除去したグリッド内の最短経路

    m x nグリッドがあるとします。ここでは、各セルは0または1です。0セルは空で、1はブロックされています。 1つのステップで、空のセルから上、下、左、または右に移動できます。最大でk個の障害物を排除できることを前提として、左上隅のセル(0、0)から右下隅のセル(m-1、n-1)まで歩くための最小ステップ数を見つける必要があります。そのような方法がない場合は、-1を返します。 したがって、入力が次のような場合 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 kが1の場合、障害物を除去しない最

  10. C++のボックスから入手できる最大のキャンディー

    n個のボックスがあるとします。ここでは、各ボックスが[status、candies、keys、containedBoxes]のような形式で指定されています。いくつかの制約があります- status [i]:ボックス[i]が開いているときは1、ボックス[i]が閉じているときは0です。 candies [i]:ボックス[i]内のキャンディーの数です。 keys [i]:box[i]のキーで開くことができるボックスのインデックスを含む配列です。 containsBoxes [i]:配列には、box[i]で見つかったボックスのインデックスが含まれています。 initial

  11. C++で最大スコアを持つパスの数

    正方形の文字ボードがあるとします。文字「S」でマークされた右下の正方形からボード上を移動できます。次に、文字「E」でマークされた左上の正方形に到達する必要があります。他の正方形には、1から9までの数字または障害物「X」のいずれかでラベルが付けられています。 1回の移動で、障害物がない場合にのみ、上、左、または左上に移動できます。 2つの数値のリストを見つける必要があります。最初の数値は収集できる数字の最大合計であり、2番目の数値はその最大合計を取得するために取ることができるそのようなパスの数です。答えについては、10 ^ 9 + 7を法として返します。パスがない場合は、[0、0]を返します。

  12. C++での覆面算パズル

    方程式があるとすると、式は左側に単語で表され、結果は右側に表示されます。方程式が次の規則の下で解けるかどうかをチェックする必要があります- 各文字は1桁(0から9)としてデコードされます。 異なる文字のすべてのペアは、異なる数字にマップする必要があります。 各単語[i]と結果は、先行ゼロが存在しない数値としてデコードされます。 左側の数字の合計は右側の数字と等しくなります。 方程式が解けるかどうかを確認します。 2、その後SEND + MORE=MONEYは9567+1085=10652と同じです。 これを解決するには、次の手順に従います- サイズ:

  13. C++での個別のエコー部分文字列

    文字列Sがあるとします。ある文字列とそれ自体の連結として記述できる、Sの明確な空でない部分文字列の数を見つける必要があります。 したがって、入力が「elloelloello」のような場合、「ello」、「lloe」、「loel」、「oell」などのサブストリングがあるため、出力は5になります。 これを解決するには、次の手順に従います- プライム:=31 m:=1 ^ 9 + 7 関数fastPow()を定義します。これには、base、power、が必要です。 res:=1 0の場合、実行- power&1がゼロ以外の場合、- res:=res

  14. C++で2本の指を使用して単語を入力するための最小距離

    以下のようなキーボードレイアウトがあるとします- A B C D E F G H 私 J K L M N O P Q R S T U V W X Y Z 英語の各大文字が特定の座標に配置されている場合、例として、文字Aは(0,0)に配置され、文字Bは(0,1)に配置され、文字Pは(2,3)に配置されます。文字Zは(4,1)に配置されます。ここで単語がある場合、2本の指だけを使用してそのような文字列を入力するための最小合計距離を見つける必要があ

  15. C++で庭に水をやるために開く蛇口の最小数

    x軸に1次元の庭があるとします。庭の開始位置は0で、終了位置はnです。庭のポイント[0、1、...、n]にn+1個の蛇口があります。整数nと長さn+1の整数配列範囲がある場合、ranges [i]はi番目のタップであり、その領域が開く。 庭全体に水を供給するために開く必要のある蛇口の最小数を見つける必要があります。可能な解決策がない場合は、-1を返します。 したがって、入力がn =5で、範囲が[3,4,1,1,1,0]の場合、出力は1になります。これは、2番目のタップから、地面全体をカバーするためです[-3 〜5]。 これを解決するには、次の手順に従います- これを解決するには、次

  16. C++で配列値を最大化するための逆サブアレイ

    numsという整数配列が1つあるとします。この配列の値は、| nums [i] -nums [i +1]|の合計として定義されます。 0からn-1の範囲のすべてのiに対して。ここで、nは配列のサイズです。指定された配列の任意のサブ配列を選択して、それを逆にすることができます。この操作は1回しか実行できません。次に、最終的な配列の可能な最大値を見つける必要があります。 したがって、入力が[1,5,4,2,3]の場合、出力は10になります。 これを解決するには、次の手順に従います- ret:=0、extra:=0 n:=numsのサイズ minVal:=inf、maxVal

  17. C++でのジョブスケジュールの最小難易度

    タスクのリストをd日でスケジュールするとします。タスクは依存しているため、i番目のタスクで作業するには、すべてのタスクjを完了する必要があります。ここで0 <=j

  18. C++でゲームVをジャンプする

    arrと呼ばれる整数の配列と整数dがあるとします。 1つのステップで、インデックスiから-にジャンプできます。 i + xここで、i +x

  19. C++でゲームIVをジャンプする

    arrという整数の配列があるとします。最初はインデックス0にいます。1つのステップで、インデックスiからi + xにジャンプできます。ここで、i +x =0。jここで:arr[i]とarr[j]は同じであり、iとjは同じではありません。ここで、nは配列のサイズです。配列の最後のインデックスに到達するための最小ステップ数を見つける必要があります。 したがって、入力が次のような場合、 その場合、出力は3になります。インデックス0から4、3から9への3つのジャンプが必要です。 これを解決するには、次の手順に従います- 1つのマップを定義するm n:=arrのサイズ 初期

  20. C++で複数の合計を持つターゲット配列を構築する

    ターゲットの整数の配列があるとします。すべて1で構成される開始配列Aから、次の手順を実行できます- xを現在配列にあるすべての要素の合計と見なします。 0からnの範囲でインデックスiを選択します。ここで、nは配列のサイズであり、インデックスiのAの値をxに設定します。 この手順は何度でも繰り返すことができます。 Aからターゲット配列を作成できるかどうかを確認する必要があります。そうでない場合はFalseを返します。 したがって、入力が[3,9,5]の場合、出力はTrueになります。これは、インデックス[1,1,1]から開始でき、インデックス0で合計が3、配列が[3 、

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