解题思路:
注意此题已经说明了是从大到小了,求最小的绝对值无非就是 判断最大值小的 那个数组所处的位置在哪就可以求解了,不要想太复杂!!!
注意事项:
参考代码:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int M, N;
cin >> M >> N;
int arr[1010];
int brr[1010];
for (int i = 1; i <= M;i++)
{
cin >> arr[i];
}
for (int i = 1; i <= N; i++)
{
cin >> brr[i];
}
if(arr[M]<=brr[1]) //arr 在 brr 左边,我这里假设 arr 的最大值 比 brr 的小,然后一直增大 arr 的最大值,直到超过 brr 的最大值。注意 arr 最小值的位置就行
cout<< abs(arr[M] - brr[1]);
if (arr[M] > brr[1] && arr[M] <= brr[N])//arr 在 brr 里面
cout << "0";
if (arr[M] > brr[N] && arr[1] <= brr[N]) //arr 的尾部在 brr 里面
cout << "0";
if (arr[1] > brr[N]) // arr 在 brr 右边
cout << arr[1] - brr[N];
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复