两种方法-题解
2024-04-20 17:07:26
发布于:上海
13阅读
0回复
0点赞
//方法1:擂台
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n;
cin>>n;
int s[n];
for(int i=0;i<n;i++)cin>>s[i];
int maxnnn=s[0],minnnn=s[0];
for(int i=0;i<n;i++){if(s[i]>maxnnn)maxnnn=s[i];if(s[i]<minnnn)minnnn=s[i];}
cout<<minnnn<<" "<<maxnnn;
return 0;
}
这是擂台方法,遍历一遍不断替换地找到最大最小值,时间复杂度O(n)
,空间复杂度O(n)
//方法2:函数
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n;
cin>>n;
int s[n];
for(int i=0;i<n;i++)cin>>s[i];
cout<<*min_element(s,s+n)<<" "<<*max_element(s,s+n);
return 0;
}
这是运用algorithm库中的函数*max_element()
和*min_element()
来做的或者也可以用sort(),记得加上*
,因为返回类型为指针!
这里空空如也
有帮助,赞一个