Java每日一题(12.1)- 数组查重

Java每日一题(12.1)- 数组查重,第1张

Java每日一题(12.1)- 数组查重 1.题目

给定一个整数数组,判断是否存在重复元素
如果存在一值在数组中出现至少两次,那么程序打印true;
如果数组中每个元素都不相同,则程序打印false ;
示例1:
输入:[1,2,3,1]
输出: true
示例2:
输入:[1,2,3]
输出: false
要求:
不可直接调用java已经封装好Arrays工具类;
严格按照用例的输入输出形式;
尽量使用多种方法解决;
可上交博客链接或直接交图片

2.解题思路

第一次看到这个题目我有三种思路:
1.穷举
2.排序
3.集合去重
因为用集合最简单,所以我使用了集合

3.代码

import java.util.*;

public class ArrayToSet {
    public static void main(String[] args) {
//        创建数组
        int[] a = new int[9999];
        Scanner read = new Scanner(System.in);
        String s = read.nextLine();
        Scanner reader = new Scanner(s);
        int i = 0;
        while (reader.hasNextInt()) {
            a[i] = reader.nextInt();
            i = i + 1;
        }
//        创建集合
        HashSet sites = new HashSet<>();
        for (int j : a) {
            sites.add(j);
        }
//        去掉数组默认的0
        sites.remove(0);
//        利用集合元素不相同去重,再比较数组和集合的长度,如果长度不一说明有元素被去重
        if (sites.size() == i) {
            System.out.println("false");
        } else {
            System.out.println("true");
        }
    }
}
4.运行结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5637079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存