输入样例:
10
86 75 233 888 666 75 886 888 75 666
输出样例:
75 3
888 2
java比赛的时候最后一个案例超时了,这是之后改进能a的版本
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Arrays;
public class Main
{
public static void main(String[] args)throws IOException
{
int n=ini();
int max=0;
int min=999999999;
int a[]=new int[n];
for(int i=0;i<n;i++)
{
a[i]=ini();
if(min>a[i])min=a[i];
if(max<a[i])max=a[i];
}
Arrays.sort(a);
int ax=0;
int in=0;
for(int i=0;i<a.length;i++)
{
if(min==a[i])in++;
if(max==a[i])ax++;
}
out.println(min+" "+in);
out.println(max+" "+ax);
out.flush();
}
static StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
static PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
static int ini() throws IOException
{
in.nextToken();
return (int)in.nval;
}
}
比赛的时候因为java超时用了c++,a了的代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[100005],max=0,min=99999,ax=0,in=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
if(max<a[i])max=a[i];
if(min>a[i])min=a[i];
}
sort(a,a+n);
for(int i=0;i<n;i++)
{
if(max==a[i])ax++;
if(min==a[i])in++;
}
printf("%d %d\n%d %d",min,in,max,ax);
}
都是一样的做法,比较粗暴的直接求