สมมติว่าเรามีอาร์เรย์ A ที่มี n องค์ประกอบ มีอาร์เรย์ B ซ่อนอยู่ขนาด n องค์ประกอบอาจเป็นลบหรือบวก สำหรับแต่ละดัชนี i ตั้งแต่ 1 ถึง n จะดำเนินการ:
- ตั้ง A[i] = 0 เริ่มต้น
- บวก B[i] ลบ B[i+1] บวก B[i+2] ต่อไป
เราต้องหาอาร์เรย์ B
เช่น ถ้าอินพุตคือ A = [6, -4, 8, -2, 3] เอาต์พุตจะเป็น [2, 4, 6, 1, 3]
ขั้นตอนการแก้ปัญหา
for i := 0 ถึง size of A - 1:
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,