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,