条件付きの指定された配列から配列を検索するC++コード
n個の要素を持つ配列Aがあるとします。サイズnの別の隠し配列Bがあります。要素は負または正にすることができます。 1からnの範囲のインデックスiごとに、次の操作が実行されます-
-
最初はA[i]を0に設定します
-
次に、B[i]をA[i]に加算し、B [i + 1]を減算してから、B [i+2]を加算します。
配列Bを見つける必要があります。
したがって、入力がA =[6、-4、8、-2、3]の場合、出力は[2、4、6、1、3]
になります。ステップ
これを解決するには、次の手順に従います-
for initialize i := 0, when i < size of A, update (increase i by 1), do: print (A[i] + A[i + 1])
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h> using namespace std; void solve(vector<int> A){ for (int i = 0; i < A.size(); i++) cout << A[i] + A[i + 1] << ", "; } int main(){ vector<int> A = { 6, -4, 8, -2, 3 }; solve(A); }
入力
{ 6, -4, 8, -2, 3 }
出力
2, 4, 6, 1, 3,
-
C++で指定された条件でグリッドに8つの数字を入力します
1、2、3、4、5、6、7、8を、指定された図の8つの円に配置するとします。このようにして、シーケンス内で隣接する番号に隣接する番号はありません。 したがって、入力が次のような場合 0 - 1 - 1 0 - 1 - 1 - 1 - 1 0 - 1 - 1 0 その場合、出力は次のようになります これを解決するには、次の手順に従います- N:=3、M:=4 考慮されていません:=-1 関数present_in_grid()を定義します。これには、grid [N] [M]、num、が必要です。
-
C++で指定された操作で配列の合計を最大化する
説明 (2 * n – 1)個の整数の配列があります。配列内の正確にn個の要素の符号を変更できます。つまり、正確にn個の配列要素を選択し、それぞれに-1を掛けることができます。配列の最大合計を求めます。 例 入力配列が{-2、100、-3}の場合、-2と-3の最大変化符号を取得できます。符号配列を変更すると、-になります {2、100、3}であり、この配列の最大合計は105です。 アルゴリズム 負の数を数える 数値の絶対値を使用して、配列の合計を計算します。 数値の絶対値を取得して、配列の最小数を見つけます いいえかどうかを確認します。負の数の数は奇数であり、nの値は偶数であり、合計か