C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C++の簡略化された分数

    整数nがあるとすると、分母<=nとなるように、0から1(排他的)までのすべての簡略化された分数のリストを見つける必要があります。ここでは、分数は任意の順序にすることができます。 したがって、入力がn =4の場合、出力は[1/2、 1/3、 1/4、 2/3、3/4]のようになります。 / 4 は、 1/2 に簡略化できるため、簡略化された分数ではありません。 これを解決するには、次の手順に従います- 配列retを定義する 初期化i:=2の場合、i <=nの場合、更新(iを1増やします)、実行- 初期化j:=1の場合、j

  2. C++のバイナリツリーで適切なノードを数える

    二分木があるとすると、ルートからXへのパスにXより大きい値のノードがない場合、ツリー内のノードXはgoodという名前になります。ここで、二分木内の適切なノードの数を見つける必要があります。 したがって、入力が次のような場合、 その場合、出力は4になり、色付きのノードは適切なノードです。 これを解決するには、次の手順に従います- 関数dfs()を定義します。これは、node、val、を取ります。 ノードがnullの場合、- 戻る ret:=ret +(val <=ノードのvalの場合は1、それ以外の場合は0) dfs(ノードの左側、ノードのvalと

  3. C++で文中の単語を並べ替える

    異なる単語の文字列があり、その文字列は文と呼ばれ、これは次の形式であると仮定します- 最初の文字は大文字です。 テキスト内の各単語は、1つのスペース文字で区切られます。 すべての単語が長さの昇順で再配置されるように、テキスト内の単語を再配置する必要があります。 2つの単語の長さが同じ場合は、元の順序で並べてください。 次に、これらのルールを適用して、最後に文字列を返します。 したがって、入力が「I to in cpp love code」のような場合、出力は「I to incpplovecode」になります これを解決するには、次の手順に従います- テキストの最初

  4. お気に入りの会社のリストがC++の別のリストのサブセットではない人

    好きな会社という配列があり、favoriteCompanies[i]がi番目の人の好きな会社のリストであるとします。お気に入りの会社のリストが他のお気に入りの会社のリストのサブセットではない人々のインデックスを見つける必要があります。 したがって、入力がfavoriteCompanies =[[TCS、 google、 facebook]、[google、 microsoft]、[google、 facebook]、[google]、 [amazon]]の場合、出力は[0,1,4]になります。これは、index=2の人がfavoriteCompanies[0]=[のサブセットである[goog

  5. C++で指定された長さのサブストリング内の母音の最大数

    文字列sと整数kがあるとします。長さkのsの部分文字列で母音文字の最大数を見つける必要があります。 したがって、入力がs =abciiidef、k =3の場合、出力は3になります。 これを解決するには、次の手順に従います- cnt:=0 1セットmを定義する 母音vごとに、実行します vをmに挿入 ret:=0 初期化i:=0の場合、i

  6. C++の二分木における疑似パリンドロームパス

    ノード値が1から9までの数字であるバイナリツリーがあるとします。パス内のノード値の少なくとも1つの順列が回文である場合、バイナリツリーの1つのパスは疑似回文であると言われます。ルートノードからリーフノードに向かう疑似パリンドロームパスの数を見つける必要があります。 したがって、入力が次のような場合 その場合、出力は2になります。これは、ルートノードからリーフノードに向かう3つのパスがあるためです。赤いパスは[2,3,3]に従い、緑のパスは[2,1,1]に従い、パス[ 2,3,1]。これらのパスのうち、赤のパス[2,3,3]は[3,2,3]として再配置でき、緑のパス[2,1,1]は再配

  7. 文字列にC++でサイズKのすべてのバイナリコードが含まれているかどうかを確認します

    バイナリ文字列sと整数kがあるとします。長さkのすべてのバイナリコードがsの部分文字列であるかどうかを確認する必要があります。それ以外の場合は、Falseを返します。 したがって、入力がS =00110110、k =2の場合、出力はtrueになります。長さ2のバイナリコードは、「00」、「01」、「10」、「11」です。これらはそれぞれインデックス0、1、3、および2に存在します。 これを解決するには、次の手順に従います- 1つのセットを定義するv temp:=空白の文字列 req:=2 ^ k 初期化i:=0の場合、i

  8. C++でのコーススケジュールIV

    受講できるコースが合計n個あるとすると、コースには0からn-1までのラベルが付けられます。 一部のコースには直接的な前提条件がある場合があります。たとえば、コース0を受講するには、最初にコース1を受講する必要があります。これは、ペアとして表されます:[1,0]。 したがって、コースの数がnの場合、直接の前提条件のペアのリストとクエリのペアのリストがあります。 コースクエリ[i][0]がコースクエリ[i][1]の前提条件であるかどうかにかかわらず、各クエリ[i]の答えを見つける必要があります。最後に、ブール値のリスト、指定されたクエリへの回答を返す必要があります。 コースaがコースbの前

  9. C++で水平および垂直にカットした後のケーキの最大面積

    高さh、幅wの長方形のケーキがあるとすると、整数の2つの配列horizo​​ntalCutsとverticalCutsがあります。ここで、horizo​​ntalCuts [i]は、長方形のケーキの上部からi番目の水平カットまでの距離を表します。同様にverticalCuts [j]長方形のケーキの左側からj番目の垂直カットまでの距離を表します。 配列horizo​​ntalCutsとverticalCutsで提供される水平方向と垂直方向の各位置でケーキをカットした後、ケーキの最大面積を見つける必要があります。答えは大きい可能性があるため、このモジュロ10 ^ 9+7を返します。 したがっ

  10. ルートを並べ替えて、すべてのパスがC++でCityZeroにつながるようにします

    0からn-1までの番号が付けられたnの異なる都市があり、2つの異なる都市間を移動する方法が1つしかないようにn-1の道路もあるとします。運輸省が道路が狭すぎるために道路を一方向に向けることを決定したとします。 ここで、道路は、connections [i] =[a、b]の接続で表されます。これは、都市aからbへの道路を表します。 首都(都市番号0)で大きなイベントがあり、多くの人がこの都市に旅行したい場合。各都市が都市0を訪問できるように、いくつかの道路で方向転換タスクを実行する必要があります。変更されたエッジの最小数を見つける必要があります。 したがって、入力が6のような場合、接続=[

  11. C++の配列内のk個の最強の値

    arr [j]の場合、arr[i]はarr[j]よりも強力であると言われます。したがって、配列内で最も強いk値のリストを見つける必要があります。 1であるため、5は1よりも強力です。 これを解決するには、次の手順に従います- 配列を並べ替える n:=arrのサイズ m:=arr [(n-1)/ 2] ペアの配列vを定義する i:=0、j:=n-1 配列retを定義する kがゼロ以外の場合、反復ごとにkを減らし、-を実行します。 x1:=| arr [j]-m | x2:=| arr [i]-m | =x2の場合、-

  12. C++の同義文

    同等の単語の同義語と文のテキストのペアのリストがあるとすると、辞書式順序で並べ替えられた可能性のあるすべての同義語を見つける必要があります。 したがって、入力が同義語=[[happy、 joy]、[sad、 sorrow]、[joy、 cheerful]]のようであり、text=今日は幸せですが昨日は悲しかった」、「今日は元気ですが昨日は悲しかった」、「今日は元気ですが昨日は悲しかった」、「今日は幸せですが昨日は悲しかった」、「今日は幸せですが昨日は悲しみでした」、「今日は喜びですが、昨日は悲しかったです」、「今日は喜びですが、昨日は悲しみでした」] これを解決するには、次の手順に従いま

  13. C++で逆さまの二分木

    すべての右ノードが兄弟を持つリーフノードであるバイナリツリーがあるとします。それ以外の場合は空です。逆さまにして、元の右ノードが左リーフノードに変わったツリーに変換する必要があります。新しいノードを返す必要があります。 したがって、入力が[1,2,3,4,5]のような場合 次に、出力は二分木のルートを返します[4,5,2、#、#、3,1] これを解決するには、次の手順に従います- 関数solve()を定義します。これは、ノード、パー、兄弟、を取ります。 ノードが存在しない場合、- NULLを返す 子=ノードの左側 currSib=ノードの右

  14. C++で最大2つの異なる文字を含む最長のサブストリング

    文字列sがあるとします。最大で2つの異なる文字を持つ最長の部分文字列tの長さを見つける必要があります。 したがって、入力が「eceba」のような場合、tは「ece」で長さが3であるため、出力は3になります。 これを解決するには、次の手順に従います- 関数lengthOfLongestSubstringKDistinct()を定義します。これには、s、k、が必要です。 ans:=0 1つのマップを定義するm n:=sのサイズ、x:=0 初期化j:=0、i:=0の場合、j

  15. C++での1つの編集距離

    2つの文字列sとtがあるとします。両方が1つの編集距離だけ離れているかどうかを確認する必要があります。 1つの編集距離には3つのタイプがあります- sに文字を挿入してtを取得します sから文字を削除してtを取得します sの文字を置き換えてtを取得します したがって、入力がs =ab、t =acbの場合、出力はTrueになります これを解決するには、次の手順に従います- n:=sのサイズ、m:=tのサイズ n

  16. C++で範囲が欠落しています

    ソートされた整数配列numがあり、要素の範囲が包括的範囲[lower、upper]にあるとすると、欠落している範囲を見つける必要があります。 99 ] これを解決するには、次の手順に従います- 配列番号を定義する 1つのセットを定義するv 初期化i:=0の場合、i

  17. C++の文字列IIの逆単語

    入力文字列が1つあるとすると、文字列を単語ごとに逆にする必要があります。 したがって、入力が[t、 h、 e、 、 m、 a、 n、 、 i、 s、 、のような場合n 、 l 、 c 、 e ]の場合、出力は[ n 、 l 、 c 、 e 、 、 i 、 s 、になります。 、 m 、 a 、 n 、 、 t 、 h 、 e ] これを解決するには、次の手順に従います- 配列を反転します j:=0 n:=sのサイズ 初期化i:=0の場合、i

  18. C++での最短単語距離II

    コンストラクターに単語のリストを受け取るクラスがあるとすると、word1とword2の2つの単語を受け取り、リスト内のこれら2つの単語間の最短距離を見つけるメソッドがあります。そのメソッドは、さまざまなパラメータを使用して何度も繰り返し呼び出されます。 言葉=[練習、 作る、 完璧、 スキル、作る]と仮定しましょう。 したがって、入力がword1 =「スキル」、word2 =「練習」のような場合、出力は3になります これを解決するには、次の手順に従います- 1つのマップを定義するm イニシャライザは単語の配列を取ります 初期化i:=0の場合、i <単語のサイズの場合、更

  19. C++での最短単語距離III

    単語のリストと、word1およびword2と呼ばれる別の2つの単語があるとすると、リスト内でこれら2つの単語間の最短距離を見つける必要があります。ここで、word1とword2は同じである可能性があり、リスト内の2つの個別の単語を表します。言葉=[練習、 作る、 完璧、 スキル、作る]と仮定しましょう。 したがって、入力がword1 =“ makes”、word2 =“ skil”の場合、出力は1になります これを解決するには、次の手順に従います- ret:=10 ^ 9、l1:=10 ^ 9、l2:=-10 ^ 9 n:=単語のサイズ 初期化i:=0の場合、i

  20. C++のストロボグラマティックナンバーII

    長さがnであるとします。長さnのすべてのストロボグラマティック数を見つける必要があります。 ストロボグラマティック数は、180度回転したときに同じように見える数であることがわかっています。 したがって、入力がn =2の場合、出力は[11、 69、 88、 96]になります。 これを解決するには、次の手順に従います- 配列retを定義する nが奇数の場合、- retの最後に「0」を挿入します retの最後に「1」を挿入します retの最後に「8」を挿入します それ以外の場合 retの最後に空白の文字列を挿入します 1の場合、n:=n-

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