Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ หาคู่ตัวเลขจาก 2 อาร์เรย์ที่ผลบวกไม่อยู่ในทั้งสองอาร์เรย์


คำอธิบายปัญหา

สมมติว่าเรามีอาร์เรย์ A n องค์ประกอบ และ B m องค์ประกอบ เลือก a จาก A และ b จาก B ที่ a+b ไม่อยู่ใน A และไม่อยู่ใน B

ตัวอย่าง: A = [3, 2, 2]; B = [1, 5, 7, 7, 9] ผลลัพธ์คือ [3, 1] เพราะ 3+1=4 ไม่อยู่ในอาร์เรย์ไหน (คำตอบอื่นก็ได้)

ขั้นตอนการแก้ปัญหา

เรียงลำดับ A
เรียงลำดับ B
คืนค่าตัวสุดท้ายของ A และตัวสุดท้ายของ B

ตัวอย่างโค้ด C++

#include <bits/stdc++.h>
using namespace std;

void solve(vector<int> A, vector<int> B) {
    sort(A.begin(), A.end());
    sort(B.begin(), B.end());
    cout << A[A.size() - 1] << ", " << B[B.size() - 1];
}

int main() {
    vector<int> A = { 3, 2, 2 };
    vector<int> B = { 1, 5, 7, 7, 9 };
    solve(A, B);
}

อินพุต

{ 3, 2, 2 }, { 1, 5, 7, 7, 9 }

เอาต์พุต

3, 9