首页 > 试题广场 >

KiKi去重整数并排序

[编程题]KiKi去重整数并排序
  • 热度指数:17519 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个整数序列,KiKi想把其中的重复的整数去掉,并将去重后的序列从小到大排序输出。

输入描述:
第一行,输入一个整数n,表示序列有n个整数。
第二行输入n个整数(每个整数大于等于1,小于等于1000),整数之间用空格分隔。


输出描述:
去重并且从小到大排列的整数序列,整数之间用空格分隔。
示例1

输入

6
5 3 3 4 2 2

输出

2 3 4 5
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Set<Integer> set = new TreeSet<>();
        for (int i = 0; i < n; i++) {
            set.add(sc.nextInt());
        }
        for (Integer i : set) {
            System.out.print(i+" ");
        }
    }
}

发表于 2021-12-06 00:08:35 回复(0)


import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int num=sc.nextInt();
        HashSet set=new HashSet();
        ArrayList list=new ArrayList();
        for(int i=0;i<num;i++){
            set.add(sc.nextInt());
        }
        for (Object o : set) {
            list.add(o);
        }
        Collections.sort(list);
        for (Object o : list) {
            System.out.print(o+" ");
        }
    }
}









发表于 2021-11-04 20:34:44 回复(0)
import java.util.*;
public class Main{
    public static void main (String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        HashSet<Integer> set = new HashSet<>();
        for (int i = 1; i <= a; i++) {
            set.add(in.nextInt());
        }
        List<Integer> list = new ArrayList<>(set);
        Collections.sort(list);
        for (Integer li : list) {
            System.out.print(li + " ");
        }
    }
}

发表于 2021-10-03 21:49:47 回复(0)
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Collections;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        ArrayList<Integer> b = new ArrayList<Integer>();
        for(int i = 0; i<a;i++){
            int c = in.nextInt();
            b.add(c);
        }
        for(int i = 0; i<b.size();i++){
         for(int j = 0;j<b.size();j++){
             if(b.get(i).equals(b.get(j)) && i!=j){
                 b.remove(j);
             }
         }
        }
        
        Collections.sort(b);
        for(int i = 0; i<b.size();i++){
         System.out.print(b.get(i)+" ");
        }
     }
}
发表于 2021-09-22 22:46:12 回复(0)

利用Set集合不允许重复元素的特点,来去掉重复元素

import java.util.*;
public class Main {
     public static void main(String[] args){
        Scanner s =new Scanner(System.in);
        int a= s.nextInt();
        HashSet set = new HashSet();
        for(int i=1;i<=a;i++){
            set.add(s.nextInt());
        }
        List list = new ArrayList(set);
        //升序排序
        Collections.sort(list);
        for (Integer integer : list) {
            System.out.print(integer+" ");
        }
     }
编辑于 2021-04-12 15:08:34 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args) {
        LinkedHashSet<Integer> set=new LinkedHashSet<>();
        Scanner scan=new Scanner(System.in);
        int size=scan.nextInt();
        int[] arr=new int[size];
        for(int i=0;i<arr.length;i++) 
        {
               arr[i]=scan.nextInt();
         }
         Arrays.sort(arr);
       for(int i=0;i<arr.length;i++)
        {
            set.add(arr[i]);
         }
        for(int i:set)
        {
            System.out.print(i+" ");
        }
           scan.close();
 }
}

编辑于 2021-02-24 14:25:54 回复(0)
import java.util.*;

public class Main{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n=scan.nextInt();
        int res[]=new int[n];
        for(int i=0;i<n;i++){
            res[i]=scan.nextInt();
        }
        Arrays.sort(res);
        System.out.print(res[0]+" ");
        for(int i=1;i<n;i++){
            if(res[i]!=res[i-1]){
                System.out.print(res[i]+" ");
            }
        }
    }
}

发表于 2021-01-21 03:26:51 回复(0)
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int nums = 0;
        List<Integer> list = new ArrayList<>();

        while (scan.hasNextInt()){
            nums = scan.nextInt();
            int num = 0;

            for (int i = 0; i < nums; i++) {
                num = Integer.parseInt(scan.next());
                if (!list.contains(num)){
                    list.add(num);
                }
            }

            // 排序
            for (int m = 0; m < list.size(); m++){
                for (int n = m; n < list.size(); n++){
                    int tem = list.get(m);
                    if (tem > list.get(n)){
                        list.set(m, list.get(n));
                        list.set(n, tem);
                    }
                }
            }

            Iterator<Integer> iterator = list.iterator();
            while (iterator.hasNext()){
                System.out.print(iterator.next() + " ");
            }
        }
        
        
    }
}

发表于 2021-01-19 11:41:05 回复(0)
import java.util.*;
/**
 * Created by kingwan on 2020/10/9.
 * 说明:
 */
public class Main {
    static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        Set<Integer> set = new HashSet();
        ArrayList<Integer> list = new ArrayList();
        int n = scanner.nextInt();
        while (n>0){
            set.add(scanner.nextInt());
            n--;
        }
        for (Integer integer : set) {
            list.add(integer);
        }
        Collections.sort(list);
        for (Integer integer : list) {
            System.out.print(integer+" ");
        }
    }
}

发表于 2020-10-09 19:47:27 回复(0)

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
int[] nums = new int[n + 1];
for (int i = 0; i < n; i++) {
nums[i] = sc.nextInt();
}
Arrays.sort(nums);

    TreeSet<Integer> set = new TreeSet<>();
    for (int i = 1; i <= n; i++) {
        if (set.contains(nums[i])) {
            continue;
        } else {
            set.add(nums[i]);
        }
    }
    for (int m : set) {
        System.out.print(m + " ");
    }
}

}

发表于 2020-09-27 10:50:13 回复(0)
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
        public static void main(String[] args){
            Scanner sc=new Scanner(System.in);
            int length=sc.nextInt();
            int[] inputArray=generateIntArray(length);
            Object[] resultArray=simplify(inputArray);
            Arrays.sort(resultArray);
            //System.out.println(Arrays.toString(resultArray));
            for (int i = 0; i < resultArray.length; i++) {
                if(i==resultArray.length-1){
                    System.out.print(resultArray[i]);
                }
                else {
                    System.out.print(resultArray[i]+" ");
                }
            }
        }
        public static int[] generateIntArray(int length){
            Scanner sc=new Scanner(System.in);
            int[] intArray=new int[length+1];
            for (int i = 0; i < length; i++) {
                intArray[i]=sc.nextInt();
            }
            return intArray;
        }
        public static Object[] simplify(int[] intArray){
            ArrayList<Integer> arrayList=new ArrayList<>();
            boolean flag=true;
            arrayList.add(intArray[0]);
            for (int i = 1; i < intArray.length; i++) {
                flag=true;
                for (int j = 0; j < arrayList.size(); j++) {
                    if (intArray[i]==arrayList.get(j)){
                        flag=false;
                        break;
                    }
                }
                if(flag){
                    arrayList.add(intArray[i]);
                }
            }
            return arrayList.toArray();
        }
    }

IntelliJ IDEA上可以运行,这里报错,不知道为什么
发表于 2020-08-22 20:46:35 回复(0)
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //输入的数列有多少数据
        int x = sc.nextInt();
        int [] arr=new int[x];
        int res=0;
        //接受输入的数据 存放在arr数组
        for(int i = 0;i<arr.length;i++){
          int x1=sc.nextInt();
          arr[i]=x1;

        }
        //冒泡排序 对数组进行从小到大的顺讯
        for (int i =0;i<arr.length;i++){
            for (int y = 0;y<arr.length-1-i;y++){
                if (arr[y]>arr[y+1]){
                    res = arr[y+1];
                    arr[y+1]=arr[y];
                    arr[y]=res;

                }
            }
        }
        //利用集合去除数组中重复定位数据
        List<Integer> list = new ArrayList<Integer>();
        for (int i=0;i<arr.length;i++){
                if (!list.contains(arr[i])){
                    list.add(arr[i]);

                }
        }
        //整数之间用空格分隔输出
        for (int i=0;i<list.size();i++){
            System.out.print (list.get(i)+" ");

        }
//        System.out.println(list.get(list.size()-1));

    }

}

发表于 2020-07-25 16:43:57 回复(0)
使用java8 新特性解决:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int number = scanner.nextInt();

        List<Integer> numList = new ArrayList<>(number);
        for (int i = 0; i < number; i++) {
            int param = scanner.nextInt();
            if (param <1 || param>1000) {
                continue;
            }
            numList.add(param);
        }

        // 去重+排序(从小到大)
        List<Integer> resultList = numList.stream()
                .distinct()
                .sorted()
                .collect(Collectors.toList());

        resultList.forEach(item -> System.out.print(item + " "));

    }

}


发表于 2020-07-20 17:24:48 回复(0)
public static void main(String[] args) throws NumberFormatException,IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int n=Integer.parseInt(br.readLine());
		int[] x=new int[n];
		int[] temp =new int[1001];
		String[] str=br.readLine().split(" +");
		for(int i=0;i<n;i++) {
			x[i]=Integer.parseInt(str[i]);
			
		}

			
			for(int i:x) {
				temp[i]++;
			}
			
			
			for(int i=0;i<temp.length;i++) {
				if(temp[i]!=0)
					System.out.print(i+" ");
			}
			
	}

桶排序真好用

发表于 2020-06-23 18:02:02 回复(0)
import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNextInt())
        {
            int num=sc.nextInt();
            int [] arr=new int[num];
            for(int i=0;i<num;i++)
            {
                arr[i]=sc.nextInt();
            }
            Arrays.sort(arr);
            LinkedHashSet<Integer> set=new LinkedHashSet<>();
            for(int i=0;i<num;i++)
            {
                set.add(arr[i]);
            }
            for(int item:set)
            {
                System.out.print(item+" ");
            }
        }
    }
}
发表于 2020-04-17 13:54:32 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args){
     TreeSet<Integer> ts=new TreeSet<Integer>();
     Scanner sc=new Scanner(System.in);
     int num=sc.nextInt();
     while(num==0?false:true){
      ts.add(sc.nextInt());
      num--;
     }
     for(int s:ts){
      System.out.print(s+" ");
     }
    }
}
发表于 2020-04-13 23:16:52 回复(0)