Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

두 배열에 합이 존재하지 않는 두 배열에서 두 숫자를 찾는 C++ 프로그램

<시간/>

n개의 요소가 있는 두 개의 배열 A와 m개의 요소가 있는 B가 있다고 가정합니다. a + b가 A 또는 B에 속하지 않도록 A 형식의 일부 요소와 B의 일부 요소 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