美文网首页
[编程题] 消除重复元素

[编程题] 消除重复元素

作者: 六尺帐篷 | 来源:发表于2017-08-10 14:09 被阅读106次

    小易有一个长度为n序列,小易想移除掉里面的重复元素,但是小易想是对于每种元素保留最后出现的那个。小易遇到了困难,希望你来帮助他。
    输入描述:
    输入包括两行:
    第一行为序列长度n(1 ≤ n ≤ 50)
    第二行为n个数sequence[i](1 ≤ sequence[i] ≤ 1000),以空格分隔

    输出描述:
    输出消除重复元素之后的序列,以空格分隔,行末无空格

    输入例子1:
    9
    100 100 100 99 99 99 100 100 100

    输出例子1:
    99 100

    代码

    import java.util.*;
     
    public class Main {
        public static void main(String[] args) {
             
            Scanner in = new Scanner(System.in);
            while(in.hasNext()) {
                int n = in.nextInt();
                int[] nums = new int[n];
                for(int i=0;i<n;i++) {
                    nums[i] = in.nextInt();
                }
                int[] res = solve(nums);
                for(int i=0;i<res.length-1;i++) {
                    System.out.print(res[i] + " ");
                }
                System.out.print(res[res.length-1]);
            }
             
        }
         
        private static int[] solve(int[] nums) {
             
            Set<Integer> set = new LinkedHashSet<>();
             
            for(int i=nums.length-1;i>=0;i--) {
                set.add(nums[i]);
            }
             
            int[] res = new int[set.size()];
             
            Iterator<Integer> it = set.iterator();
             
            int i = res.length-1;
            while(it.hasNext()) {
                res[i] = it.next();
                i--;
            }
            return res;
        }
    }
    

    相关文章

      网友评论

          本文标题:[编程题] 消除重复元素

          本文链接:https://www.haomeiwen.com/subject/sgjhrxtx.html