-
C++で数字を置き換えた2つの数値の最大値と最小値の合計
2つの正の数num1とnum2が与えられます。目標は、両方の数字を置き換えた後、これら2つの可能な最小合計と最大合計を見つけることです。両方の数字のそれぞれの数字の数字を置き換えることができます。 num1が434、num2が324で、数字3を4に、数字4を3に置き換えることができるとします。その場合、最小合計は-333 + 323 =656になり、最大合計は444 + 424=864になります。 数字を3から4に、またはその逆に置き換える例を使って理解しましょう- 入力 num1=3224 num2=4321 出力 Maximum sum is : 8645 Minimum sum is
-
C++で正確にk個の変更後に取得できる最大配列合計
正と負の整数の配列と数値Kが与えられます。タスクは、要素のKが変更された後の配列の最大合計を見つけることです。ここでの単一の変更操作は、単一の要素に-1を掛けます。 使用されるアプローチは、すべての負の数を正に変換することです。 N個の負の数がある場合、このために配列を並べ替えます- N
-
C++の配列に存在する最大連続数
正の整数の配列が与えられます。目標は、そこに存在する連続した数の最大数を見つけることです。まず、配列を並べ替えてから、隣接する要素arr [j] ==arr [i] +1(j =i + 1)を比較します。差が1の場合は、カウントをインクリメントし、インデックスをi ++、j ++、elsechange count=1にします。これまでに見つかった最大カウントをmaxcに保存します。 入力 Arr[]= { 100,21,24,73,22,23 } 出力 Maximum consecutive numbers in array : 4 説明 −ソートされた配列は− {21,22,23,24,7
-
C ++で特定の操作を実行した後の、配列内の同数の最大数
整数の配列が与えられます。目標は、特定の操作を実行した後に等しい配列内の最大数を見つけることです- i!=jおよびとなるように2つの要素a[i]およびa[j]を選択します a[i]をインクリメントしてa[j]をデクリメントします(a [i] ++、a [j]-) 配列の合計を取り、それを要素の数で割ります。 Nが配列のサイズの場合 合計がNで割り切れる場合、等しい数もNになります。そうでない場合、等しい数はN-1になります。 入力 Arr[]= { 1,2,3 } 出力 Maximum count of equal numbers : 3 説明 −最初のステップの後Arr
-
C++で同じ合計を生成するペアの最大数
整数の配列が与えられます。目標は、追加されたときに同じ合計を生成するアレイ内のペアの最大数を見つけることです。そのようなペアの最大数を見つける必要があります。 入力 Arr[]= { 1,2,3,4,2 } 出力 Maximum count of pairs with same sum : 3 説明 −数値のペアの合計− {1,2}, {1,2} Sum:3 {1,3},{2,2} Sum:4 {1,4},{2,3},{3,2} Sum:5 {2,4} Sum:6 {3,4} Sum:7 Maximum count of pairs with same sum is 3 ( for sum
-
C++でソートされた回転配列内の指定された値以下の要素をカウントします
整数の配列が与えられます。配列は、ソートされた回転配列です。目標は、指定された数K以下の配列内の要素の数を見つけることです。 アプローチは、配列全体をトラバースし、K以下の要素をカウントすることです。 入力 Arr[]= { 1,2,3,4,9,8,10 } K=4 出力 Elements less than or equal to 4 : 4 説明 −要素<=4は1,2,3,4カウント=4 入力 Arr[]= { 5,3,6,1,8,100,12,31 } K=3 出力 Elements less than or equal to 3: 2 説明 −要素<=3は1,3カウント=2
-
C++でX以上の値を持つX要素が正確に存在するように要素をカウントします
整数の配列が与えられます。目標は、次の条件を満たす配列内の要素の数を見つけることです- 各要素について、配列に存在するそれ以上の数の数は、それと正確に等しい必要があります。要素自体を除外します。要素がXの場合、配列にはX以上の正確なX番号があります(要素を除く)。 入力 Arr[]= { 0,1,2,3,4,9,8 } 出力 Elements exactly greater than equal to itself : 1 説明=それに- Arr[0]: 6 elements are >= 0 , 6!=0 count=0 Arr[1]: 5 elements are >= 1
-
C++で前半ビットと後半ビットの合計が同じである偶数の長さのバイナリシーケンスをカウントします
バイナリシーケンスの入力として、いくつかのビットnが与えられます。ここでの目標は、前半ビットと後半ビットの合計が等しくなるような長さ2nのバイナリシーケンスを見つけることです。最初のnビットと次のnビットの合計は同じです。 バイナリシーケンスがあるため、任意の場所に数字を配置する唯一の選択肢は0と1です。前半と後半のnビットの場合、いいえ。可能な組み合わせは次のとおりです- すべてゼロのnビット(0 1)nC0 =1 11のnC1を含むnビット 21のnC2を含むnビット 。 。 n1のnCnを含むnビット 2nビットの場合 前半は01で、後半は01でnC0X nC0
-
配列内のすべての要素の頻度をO(1)の余分なスペースでカウントし、O(n)の時間をC++でカウントします
値1からnまでの範囲の要素の配列が与えられます。一部の要素が繰り返され、一部が欠落しています。目標は、O(n)時間とO(1)余分な空間ですべての要素の頻度を見つけることです。 入力 Arr[]= { 1,2,2,3,4,4,4,5 } 出力 1→ 1, 2 → 2, 3→ 1, 4→ 3, 5→ 5 説明 −最も高い要素は5で、出力には各要素が配列に出現する回数が表示されます。 入力 Arr[]= { 1,4,4,5,5,5,5 } 出力 1→ 1, 2 →0, 3→ 0, 4→ 2, 5→
-
C++で指定された条件を満たすインデックスペアをカウントします
最初のN個の自然数の順列の配列が与えられます。ここでの目標は、以下の条件を満たす要素のインデックスペアを見つけることです- 配列がArr[]の場合、i、jはインデックスであり、i <=x<=j。 つまり、Arr[i]とA[j]の合計は、これら2つのセグメント間で発生する最大要素に等しくなります。 入力 Arr[]= { 2,4,1,3,6,5 } 出力 Count of index pairs which satisfy the given condition:1 説明 −ペアの合計が与えられます- 2 + 4 =6、6は最大ですが、2から4の間ではありません。 2 + 1 =3、3
-
C ++で配列をソートするために、「前に移動」移動の最小数をカウントします
1からnまでの数の配列が与えられます。ここでの目標は、いいえを見つけることです。指定された配列をソートするために必要な「movetofront」操作の数。配列には繰り返しがありません。 「前に移動」操作は要素を選択し、最初の位置、ここではインデックス0に配置します。 要素が正しい位置にある場合は、配列を最後からトラバースします。それ以外の場合は、移動する必要はありません。 1からnまでの要素の場合、要素arr[i]の配列内の正しい位置はインデックスi+1を上回る必要があります。 arr [0]は1、arr [1]は2、…….arr[n-1]はnである必要があります。 入力 Arr[]= {
-
最小の右反転をカウントして、C++の配列にすべての値を設定します
同じワイヤーで順番に接続されている電球の状態を表す0と1の配列が与えられます。 0は電球がオフであることを表し、1は電球がオンであることを表します。このような一連のN個の電球の場合、電球のスイッチを押すと、右側のすべての電球(i + 1番目からnまで)が前の視線をオンからオフ、またはオフからオンに変更します。 すべての電球の特定の状態について、目標は、すべての電球をオンにするために押す必要のある最小のスイッチを見つけることです。 [同じスイッチを何度でも押すことができます]。これは、配列内の正しいインデックス値の状態を反転して、すべてを1に設定するのと同じです。 入力 Bulbs[]= {
-
C++で指定された目的の配列を取得するための最小ステップ数を数えます
数字を含む配列target[]が与えられます。次の2つの操作のみを使用して、すべてゼロ[0,0,0,0…]の配列をターゲットに変換できる最小ステップを見つける必要があります- インクリメント操作-すべての要素を1ずつインクリメントできます。各インクリメント操作は、ステップごとに個別にカウントできます。 (n要素のn増分の場合steps =n) 倍増操作-配列全体が倍増します。すべての要素について、1回カウントされます。 (各2倍化操作は、すべての要素の値を2倍にし、ステップごとに1としてカウントします 目標は、目標に到達するための最小ステップ数を見つけることです。たとえば、[
-
カウント番号C++で昇順でソートされていない列の数
それぞれ同じ長さの文字列の配列が与えられます。目標は、昇順でソートされていない列(文字列のマトリックス)を見つけることです。たとえば、文字列の最初の各文字は、次の文字列の最初の文字と比較され、最後の文字列まで続きます。順番が増えていない場合は、カウントを増やします。これをすべての2番目の文字に対して行い、次にすべての文字列の3番目の文字に対して、以下同様に最後の文字まで行います。 入力 Arr[]= { “abc”, “bcd”, “def” } 出力 Count of columns: 0 説明 −各列について 列1
-
C++の配列のローテーションですべての要素を連結することによる最大数
数字の循環配列が与えられます。循環配列は、最初の要素が最後の要素のすぐ隣として扱われるように要素が配置された配列です。これらはキューを実装するために使用されます。 各要素の桁数は同じまたは異なります。目標は、必要に応じて要素の回転を使用して、数値を連結することにより、可能な限り最大の数値を作成することです。これを行うには、すべての要素の左端のすべての数字の中から左端の一番上の数字を見つけます。一番左端の数字が最初になります。 最初の位置にある場合、インデックス1からn-1のすべての番号がそのまま配置されます。 中間にあり、インデックスがiの場合、インデックスi + 1からn-1の
-
C++で下から右に光を転送できる最大ミラー
0と1のみを含む正方行列が与えられます。 0は空白または空の場所を表し、1は障害物を意味します。これらのミラーが下から右に光を転送できるように、空のセルに配置できるミラーをいくつか見つける必要があります。これは、ミラーがインデックス[i、j]に配置され、その特定の行(i)の右側のすべてのセルと、その特定の列の下部(j)のセルに障害物がない場合に可能です。 ミラーがA[i][j]にある場合、すべてのA [i+1からn][j]およびA[i][j + 1からn]は空、つまり0です。次の図に示すように。 入力 Arr[][] = {{0,0,1,0,0},{0,0,0,0,0},{0,0,0
-
C++でax+by + cz =nとなるように、x + y+zの値を最大化します。
整数a、b、c、nが与えられます。目標は、ax + by + cz =nとなるようにx、y、zの合計を最大化することです。 上記の式から cz=n-(ax+by) z= (n- (ax+by))/c xとyを固定することにより、x、y、zごとに、上記の式を使用してzを計算します。合計を計算し、取得したそのような合計の最大値を保存します。 入力 n = 6, a = 3, b = 4, c = 5; 出力 maximum x+y+z is 2. 説明 − x =2、y =0、z =0の場合ax+by + cz=n。 3 * 2 + 0 * 4 + 0 * 5 =6 =n 入力 n =
-
arr [j] – arr [i] + arr [l] – arr [k]を最大化し、C++でi<j<k<lになるようにします。
整数の配列が与えられます。目標は、式の値を最大化することです- arr [j] -arr [i] + arr [l] -arr [k]; i
-
C++でグリッド内の魔方陣を数える
数の行列が与えられます。目標は、与えられた行列の中に存在する魔方陣の数を見つけることです。 魔方陣は、行列とすると、数独のグリッドのように1から9までの要素を含む3X3行列です。プロパティは- すべての番号は1回だけ発生します。 マトリックス内の9つのセルすべての合計は45です。 3の各行の合計は15です。 3の各列の合計は15です。 3の対角線の合計は5です。 このような合計を得るには、5は常に両方の対角線の中央にあります。 入力 int arr[][]= { { 1,2,3,0 }, { 4,5,6,1 }, { 7,8,9,0 } }; 出力 Magic Squares prese
-
C++でL={a bm a(n + m)-n、m≥1}のチューリングマシンを構築します
チューリングマシン −チューリングマシンは、タイプ0の文法によって生成された言語の単語を受け入れるために使用されるデバイスです。チューリングマシン(TM)は、入力が与えられるセルに分割された無限の長さのテープで構成される数学モデルです。入力テープを読み取るヘッドで構成されています。状態レジスタには、チューリングマシンの状態が格納されます。入力シンボルを読み取った後、別のシンボルに置き換えられ、内部状態が変更され、1つのセルから右または左に移動します。 TMが最終状態に達すると、入力文字列が受け入れられます。それ以外の場合は拒否されます。 TMは、正式には7タプル(Q、X、Σ、δ、q0、B、F