找出两个数组中之和不在两个数组中的两个数字的 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

更新于: 2022 年 03 月 03 日

114 次浏览

为你的 职业生涯注入动力

完成课程获得认证

立即开始
广告