当前位置: 首页> 房产> 政策 > 网页游戏排行榜 2020_电脑上制作网站的软件_营销软文小短文_seo外包优化公司

网页游戏排行榜 2020_电脑上制作网站的软件_营销软文小短文_seo外包优化公司

时间:2025/8/8 13:21:55来源:https://blog.csdn.net/gcliyilin/article/details/143260687 浏览次数:0次
网页游戏排行榜 2020_电脑上制作网站的软件_营销软文小短文_seo外包优化公司

题目描述

现在给你n个数字xi​,请你分别选m个数字组成两个数,要求这两个数的差最大,并输出这个差。

输入格式

第一行,两个数字n和m。

第二行,n个数字xi​。

输出格式

一个整数

样例

 输入数据 1

4 3
1 1 2 3

 输出数据 1

209

样例解析

n个数字中保证至少1个非0。两个m位数所选的数字不一定要全部相同。 注意:组成的m位数必须满足首位不是0(一位数除外)

题解

 思路:

题目要求选取m个数字组成两个数,使得这两个数的差最大。
可以先将数组排序,然后选取前m个和后m个数字,组成两个数。
两个数的差即为后m个数字减去前m个数字。

具体实现步骤:
1. 读取输入的n和m,以及n个数字xi。
2. 对数组进行排序,可以使用库函数sort。
3. 选取前m个数字和后m个数字,分别保存在两个数组中。
4. 计算后m个数字减去前m个数字的差。
5. 输出差值。

C++代码如下:
 

#include <bits/stdc++.h>
using namespace std;
int main() {int n, m;cin >> n >> m;vector<int> nums(n);for (int i = 0; i < n; i++) {cin >> nums[i];}sort(nums.begin(), nums.end());vector<int> first_m(nums.begin(), nums.begin() + m);vector<int> last_m(nums.end() - m, nums.end());int diff = *(last_m.end() - 1) - *first_m.begin();cout << diff << endl;return 0;
}

时间复杂度分析:
排序数组的时间复杂度为O(nlogn)。选取前m个数字和后m个数字的时间复杂度为O(m)。计算差值的时间复杂度为O(1)。因此,总的时间复杂度为O(nlogn)。

空间复杂度分析:
除了输入和输出的空间,需要额外使用两个数组存储前m个数字和后m个数字。因此,空间复杂度为O(m)。

关键字:网页游戏排行榜 2020_电脑上制作网站的软件_营销软文小短文_seo外包优化公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: