列表

详情


NC220804. 求绝对值最值

描述

一年一度的中原工学院软件学院院赛举行了 !
作为热身赛的problem1,自然是很友好的
给你一个序列,请你输出这个序列中元素的绝对值的最小值和最大值。

输入描述

第一行为一个整数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])

上一题