1 条题解
-
0
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> x(n), y(m); for (int i = 0; i < n; ++i) { cin >> x[i]; } for (int i = 0; i < m; ++i) { cin >> y[i]; } // 对两个数组进行排序 sort(x.begin(), x.end()); sort(y.begin(), y.end()); int minDistance = INT_MAX; int i = 0, j = 0; // 使用双指针遍历两个数组 while (i < n && j < m) { minDistance = min(minDistance, abs(x[i] - y[j])); if (x[i] < y[j]) { ++i; } else { ++j; } } cout << minDistance << endl; return 0; }
- 1
信息
- ID
- 425
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者