算法提高 最大最小值

267 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

问题描述

  给定 N 个整数,请你找出这 N 个数中最大的那个和最小的那个。

输入格式

  第一行包含一个正整数 N 。(1≤ N ≤10000)。
第二行为 N 个用空格隔开的整数,每个数的绝对值不超过1000000。

输出格式

  输出仅一行,包含两个整数 x,y,x 表示 N 个数中的最大值,y 表示 N 个数中的最小值。x,y 之间用一个空格隔开。

样例输入

4
2 0 1 2

样例输出

20

参考代码

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int N=n;
		int[] shuzu=new int[n];
		for(int i=0;i<n;i++){
			shuzu[i]=sc.nextInt();}
		f3(shuzu);
		System.out.print(shuzu[n-1]+" ");
		System.out.print(shuzu[0]);
		
	}
	public static void f3(int[] a){
		int i,j,t;
		for(i=1;i<a.length;i++){
			t=a[i];
			j=i-1;
			while(j>=0 && t<a[j]){
				a[j+1]=a[j];
				j--;
			}
			a[j+1]=t;
		}
	}
}