C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C ++で同じ配列にK個の要素を追加した後、指定された配列の中央値を最大化します

    問題の説明 N個の要素の配列arr[]とK

  2. C++でビットを再配置して数を最大化します

    問題の説明 符号なしの数が与えられた場合、与えられた符号なしの数のビットを使用して形成できる最大数を見つけます 入力番号が8の場合、その2進表現は- 00000000000000000000000000001000 最大化するには、MSBを1に設定します。その場合、数値は2147483648になり、そのバイナリ表現は- 10000000000000000000000000000000 アルゴリズム 1. Count number of set bits in the binary representation of a given number 2. Find a number with

  3. C ++で長さp、q、rのセグメント数を最大化します

    問題の説明 長さLのロッドが与えられた場合、タスクは、長さp、q、およびrのセグメントの総数が最大になるようにロッドを切断することです。セグメントの長さはp、q、およびrのみです l =15、p =2、q =3、r =5の場合、次のように7つのセグメントを作成できます- {2, 2, 2, 2, 2, 2, 3} アルゴリズム 動的計画法を使用してこの問題を解決できます 1. Initialize dp[] array to 0 2. Iterate till the length of the rod. For every i, a cut of p, q and r if possi

  4. C++でarr[i]*iの合計を最大化します

    問題の説明 N個の整数の配列が与えられます。配列の要素を再配置することができます。タスクは、Σarr[i] * iの最大値を見つけることです。ここで、i =0、1、2、.. n – 1 input array ={4、1、6、2}の場合、要素を並べ替えた順序で並べ替えると、最大合計は28になります- {1, 2, 4, 6} = (1 * 0) + (2 * 1) + (4 * 2) + (6 * 3) = 28 アルゴリズム 1. Sort array in ascending order 2. Iterate over array and multiply each array el

  5. C++で指定された式の値を最大化します

    問題の説明 ゼロ以外の3つの整数a、b、cが与えられます。タスクは、加算と乗算の記号を任意の順序でそれらの間に配置することにより、可能な最大値を見つけることです。 整数の再配置は許可されていますが、加算と乗算の符号は1回使用する必要があることに注意してください。 a =1、b =3、c =5の場合、最大値は次のように20になります- (1 + 3) * 5 = 20 アルゴリズム 1. If all numbers are positive, then add two small numbers and multiply result with larger one 2. If only

  6. C ++の配列で(arr [i] – i)–(arr [j] – j)の値を最大化します

    問題の説明 配列が与えられると、arr []は(arr [i] – i)–(arr [j] – j)の最大値を見つけます。ここでiはjと等しくありません。ここで、iとjは0からn-1まで変化し、nは入力配列arr[]のサイズです。 入力配列が{7、5、10、2、3}の場合、次のように9つの最大値を取得できます- (element 10 – index 2) - (element 2 – index 3) (10 – 2) – (2 – 3) = 8 – (-1) = 9 アルゴリズム 1. Find maximum v

  7. C++でソートされた2つの配列から最も近いペアを見つけます

    2つのソートされた配列と1つの数xがあるとすると、合計がxに最も近いペアを見つける必要があります。そして、ペアには各配列の要素があります。 2つの配列A1[0..m-1]とA2[0..n-1]、および別の値xがあります。 (A1 [i] + A2 [j] – x)の絶対値が最小になるようにペアA1 [i] +A2[j]を見つける必要があります。したがって、A1 =[1、4、5、7]、A2 =[10、20、30、40]、x =32の場合、出力は1と30になります。 A1の左側から開始し、A2の右側から開始し、次の手順に従ってそのようなペアを見つけます diffを初期化します。これにより、ペ

  8. C++の2つのアレイ間の互換性の違いを見つける

    2人の友人がいて、今彼らは彼らの結合をテストしたいと考えています。だから彼らは彼らがどれだけ互換性があるかをチェックします。 1..nから番号が付けられた番号nが与えられます。そして、彼らは数字をランク付けするように求められます。彼らはそれらの間の互換性の違いを見つけなければなりません。互換性の違いは、基本的に、それらによって与えられた同じ映画の相対的なランキングの不一致の数です。したがって、A =[3、1、2、4、5]、およびB =[3、2、4、1、5]の場合、出力は2になります。 2と4ですが、他の人はそれを後にランク付けします。 これを解決するために、現在の要素が同じであるときに両方の

  9. C++で名前空間全体を使用することの短所

    C ++では、さまざまな名前空間を使用します。独自の名前空間を作成することもできます。たとえば、通常、stdと呼ばれる標準の名前空間を使用します。次のような構文を記述します: using namespace std; 標準ライブラリには、コンテナやアルゴリズムなど、アプリケーションの構築に使用する一般的な機能が含まれています。たとえば、キュ​​ークラスをグローバルに定義した場合など、これらで使用される名前が公開されていない場合は、競合することなく同じ名前を再度使用します。そこで、この変更を含めるために名前空間stdを作成しました。 using namespaceステートメントは、それが存在

  10. C++でのコンストラクターのオーバーロード

    私たちが知っているように、関数のオーバーロードはオブジェクト指向言語のコア機能の1つです。同じ名前の関数を使用できます。パラメータセットが異なります。ここでは、C++クラスのコンストラクターをオーバーロードする方法を説明します。コンストラクターのオーバーロードには、いくつかの重要な概念があります。 オーバーロードされたコンストラクターは、同じ名前で引数の数が異なる必要があります コンストラクターは、渡される引数の数とタイプに基づいて呼び出されます。 オブジェクトの作成中に引数を渡す必要があります。そうしないと、コンストラクターはどのコンストラクターが呼び出されるかを理解できません。 例 #

  11. C ++のgetline(文字列)

    これは、フォーマットされていない入力としてストリームから文字を抽出し、抽出された文字が区切り文字になるか、n文字がsに書き込まれる(終了ヌル文字を含む)まで、c文字列としてsに格納するために使用されます。宣言は次のようなものです: basic_istream& getline (char_type* s, streamsize n ); basic_istream& getline (char_type* s, streamsize n, char_type delim); パラメータは、文字の配列への「s」ポインタであり、抽出された文字はc_stringとして格納されます。

  12. C++開発環境のセットアップ

    テキストエディタ これは、プログラムの入力に使用されます。いくつかのエディターの例には、Windowsのメモ帳、OSの編集コマンド、Brief、Epsilon、EMACS、vimまたはviなどがあります。 テキストエディタの名前とバージョンは、オペレーティングシステムによって異なる場合があります。たとえば、メモ帳はWindowsで使用され、vimまたはviはWindowsだけでなく、LinuxまたはUNIXでも使用できます。 エディターで作成するファイルはソースファイルと呼ばれ、C ++の場合、通常、拡張子は.cpp、.cp、または.cです。 C ++プログラミングを開始するには、テキ

  13. C++でSTLを使用して配列をシャッフルします

    ここでは、C++でのShuffleとrandom_shuffleを確認します。これらの関数は、C++で配列要素をシャッフルするために使用されます。配列の代わりにベクトルを使用することもできます。使用法は似ています。最初にrandom_shuffle()を見てみましょう。範囲[左、右)の要素をランダムに再配置するために使用されます。この関数は、各要素の位置をランダムに選択されたいくつかの位置の位置とランダムに交換します。 すべての場合にどの要素が使用されるかを示すために、ランダムジェネレーター関数を提供できます。一部を提供しない場合は、独自のランダムジェネレーター関数を使用します。 例 #in

  14. C++でのupper_bound

    これがC++STLのupper_bound()関数であることがわかります。この関数は、コンテナー内の最初の要素を指すイテレーターを返します。このイテレーターは、valの後にあると見なされます。構文は次のようになります: iterator upper_bound (const value_type& val); const_iterator upper_bound (const value_type& val) const; 戻り値はイテレータであり、valの後にあると見なされるコンテナ内の最初の要素を指します。 例 #include <iostream> #inc

  15. C++で指定された配列内の連続する要素のGCDから配列を構築します

    n個の要素を持つ配列A[]があるとします。 B[i]とB[i+1]のGCDがA[i]であるように、サイズがn+1である別の配列B[]を見つける必要があります。複数のソリューションがある場合は、配列の合計が最小であるソリューションの1つを出力します。したがって、A =[1、2、3]の場合、出力は[1、2、6、3]になります。 =A [i + 1]、A [i+2]のLCM。最小の合計が必要なので、B [i + 2]の最小値を取得する必要があるため、B [i + 2] – A [i+2]とA[i+ 3]のLCM 例 #include <iostream> #include <al

  16. C++の同じインデックスにある要素を除く配列のすべての要素のXORから配列を構築します

    n個の正の要素を持つ配列A[]があるとします。 B[i]がA[i]を除くA[]のすべての要素のXORになるように、別の配列Bを作成する必要があります。したがって、A =[2、1、5、9]の場合、B =[13、14、10、6] これを解決するには、最初にAのすべての要素のXORを見つけて、それを変数xに格納する必要があります。次に、A [i]の各要素について、B [i] =x XOR A [i] 例 #include <iostream> using namespace std; void findXOR(int A[], int n) {    int x

  17. C++で指定された操作で配列の合計を最大化する

    説明 (2 * n – 1)個の整数の配列があります。配列内の正確にn個の要素の符号を変更できます。つまり、正確にn個の配列要素を選択し、それぞれに-1を掛けることができます。配列の最大合計を求めます。 例 入力配列が{-2、100、-3}の場合、-2と-3の最大変化符号を取得できます。符号配列を変更すると、-になります {2、100、3}であり、この配列の最大合計は105です。 アルゴリズム 負の数を数える 数値の絶対値を使用して、配列の合計を計算します。 数値の絶対値を取得して、配列の最小数を見つけます いいえかどうかを確認します。負の数の数は奇数であり、nの値は偶数であり、合計か

  18. C++でa[i+ 1]>a[i]を使用して要素を最大化する

    問題の説明 arr [i]より大きくなるように配列要素を再配置します。 例 入力配列が{300、400、400、300}の場合、再配置された配列は-になります。 arr[i]の2つのインデックスを取得します。したがって、答えは2です。 アルゴリズム すべての要素が異なる場合、答えは単純にn-1です。ここでnは配列内の要素の数です 繰り返し要素がある場合、答えはn – maxFrequency 例 例を見てみましょう- #include <bits/stdc++.h> #define MAX 1000 using namespace std; int getMaxIndi

  19. C++の2つのアレイからの一意のペアの最大化

    問題の説明 サイズNが等しい2つの配列が与えられた場合、それらの要素を使用して最大数のペアを形成します。1つは最初の配列から、2つ目は2番目の配列から、各配列の要素が最大1回使用され、選択されたものの絶対差が使用されます。ペアを形成するために使用される要素は、特定の要素K以下です。 例 入力が-の場合 arr1 [] ={3、4、5、2、1} arr2 [] ={6、5、4、7、15} k =3の場合、絶対差が3 −以下の次の4つのペアを形成できます。 (1、4)、(2、5)、(3、6)、(4、7) アルゴリズム この問題を解決するために再帰的アプローチを使用できます 両方

  20. C++の最小ヒープの最大要素

    問題の説明 最小のヒープが与えられた場合、その中で最大の要素を見つけます。 例 入力ヒープが-の場合 その場合、最大要素は55です。 アルゴリズム 最小ヒープでは、親ノードはその子よりも少なくなります。したがって、非リーフノードを最大にすることはできないと結論付けることができます。 リーフノードで最大要素を検索 例 例を見てみましょう- #include <bits/stdc++.h> using namespace std; int getMaxElement(int *heap, int n) {    int maxVal = heap[

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:111/300  20-コンピューター/Page Goto:1 105 106 107 108 109 110 111 112 113 114 115 116 117