NC220804. 求绝对值最值
描述
输入描述
第一行为一个整数n,为序列的长度(1<=n<=10)第二行为n个数,为序列中的元素a1,a2...an (-10 <= a1,a2...an <= 10)
输出描述
一行,共两个数,第一个数为绝对值最小的数,第二个数为绝对值最大的数,以空格分割。
示例1
输入:
4 1 2 3 4
输出:
1 4
C(clang11) 解法, 执行用时: 5ms, 内存消耗: 356K, 提交时间: 2021-04-13 13:05:15
#include<stdio.h> #include<math.h> int main() { int n,i,min=0,max=0; scanf("%d",&n); int a[n]; for(i=0;i<n;i++) { scanf("%d",&a[i]); if(fabs(a[max])<fabs(a[i])) max=i; if(fabs(a[min])>fabs(a[i])) min=i; } printf("%d %d",a[min],a[max]); }
C++ 解法, 执行用时: 4ms, 内存消耗: 404K, 提交时间: 2022-01-17 10:00:50
#include <bits/stdc++.h> using namespace std; int main(){ int n,a,i; int maxx=-1,minn=11; int maxxx=0,minnn=0; cin>>n; for(i=1;i<=n;i++){ cin>>a; if(abs(a)>maxx){ maxx=abs(a); maxxx=a; } if(abs(a)<minn){ minn=abs(a); minnn=a; } } cout<<minnn<<" "<<maxxx; }
Python3 解法, 执行用时: 50ms, 内存消耗: 4704K, 提交时间: 2022-06-22 10:47:28
n = int(input()) s = list(map(int,input().split())) s.sort(key = abs) print(s[0],s[-1])