สมมติว่าเรามีอาร์เรย์ A ที่มีองค์ประกอบ n มีอาร์เรย์ B ที่ซ่อนอยู่อีกขนาด n องค์ประกอบอาจเป็นลบหรือบวก สำหรับแต่ละดัชนี i ในช่วง 1 ถึง n จะดำเนินการต่อไปนี้ -
-
ตั้งค่า 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,