java 基础编程练习7
题目描述:
老师给了小乐乐一个正整数序列,要求小乐乐把这个序列去重后按从小到大排序。但是老师给出的序列太长了,小乐乐没办法耐心的去重并排序,请你帮助他。
输入描述:
第一行包含一个正整数n,表示老师给出的序列有n个数。接下来有n行,每行一个正整数k,为序列中每一个元素的值。(1 ≤ n ≤ 105,1 ≤ k ≤ n)
输出描述:
输出一行,为去重排序后的序列,每个数后面有一个空格。
示例1
输入
4
2
2
1
1
输出
1 2
示例2
输入
5
5
4
3
2
1
输出
1 2 3 4 5
import java.util.Scanner;
import java.util.Arrays;
public class Main{
public static void main(String [] args){
Scanner in =new Scanner(System.in);
int n=in.nextInt();
int [] arr=new int [n];
for(int i=0;i<n;i++){
arr[i]=in.nextInt();
}
//数组元素去重
boolean isrepeat;//是否有重复元素
int [] temparr=new int [n];
int t=0;//用来统计无重复的元素
for(int i=0;i<n;i++){
isrepeat=false;
for(int j=i+1;j<n;j++){
if(arr[i]==arr[j]){
isrepeat=true;//表示有重复元素
break;
}
}
if(isrepeat==false){//没有重复元素
temparr[t]=arr[i];
t++;
}
}
//数组拷贝
int [] newarr=new int [t];
System.arraycopy(temparr, 0, newarr, 0, t);
//用系统自带的函数,进行数组的排序
Arrays.sort(newarr);
//输出去重、排序后的数组
for(int i=0;i<newarr.length;i++){
System.out.print(newarr[i]+" ");
}
}
}