Giả sử chúng ta có một mảng A với n phần tử. Có một mảng ẩn B khác kích thước n. Các phần tử có thể là âm hoặc dương. Đối với mỗi chỉ mục i trong phạm vi từ 1 đến n, các thao tác sau sẽ được thực hiện -
-
Đặt A [i] là 0 lúc đầu
-
Sau đó, thêm B [i] vào A [i], trừ B [i + 1], sau đó thêm B [i + 2], v.v.
Chúng ta phải tìm mảng B.
Vì vậy, nếu đầu vào là A =[6, -4, 8, -2, 3], thì đầu ra sẽ là [2, 4, 6, 1, 3]
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
for initialize i := 0, when i < size of A, update (increase i by 1), do: print (A[i] + A[i + 1])
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#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); }
Đầu vào
{ 6, -4, 8, -2, 3 }
Đầu ra
2, 4, 6, 1, 3,