栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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.运行结果


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号