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

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


สมมติว่าเรามีสองอาร์เรย์ 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 ในอาร์เรย์ใดๆ (มีคำตอบอื่นๆ ด้วย)

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

sort the array A
sort the array B
return last element of A and last element of B

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#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