巧用HashSet装载非重数据(洛谷P2250题题解,Java语言描述)

news/2025/1/15 12:26:32/

题目要求

P2550题目链接

在这里插入图片描述
在这里插入图片描述

分析

其实既然是Java来写,不用集合框架就是浪费啊!!
比较简单的思路是把中奖号码放进HashSet里,利用Hash来查找。
contains()就避免了又双叒叕疯狂遍历~~
用一个数组记录中奖情况即可~~

AC代码(Java语言描述)

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = Integer.parseInt(scanner.nextLine());String[] correctArray = scanner.nextLine().split(" ");Set<String> set = new HashSet<>();for (String str : correctArray) {set.add(str);}int[] resultArray = new int[7];for (int i = 0; i < num; i++) {int counter = 0;for (int j = 0; j < 7; j++) {if (set.contains(scanner.next())) {counter++;}}if (counter != 0) {resultArray[7-counter]++;}}for (int i = 0; i < 6; i++) {System.out.print(resultArray[i] + " ");}System.out.println(resultArray[6]);scanner.close();}
}

About~~HashSet

还是老规矩,这里不详细分析,以后再说吧。

值得一提的是HashSet基于HashMap实现:
在这里插入图片描述

感兴趣的Reader自己多去看看源码趴~~

另外,Hash确实快,真的快~~


http://www.ppmy.cn/news/142549.html

相关文章

【802.3】PCS 物理编码子层

Clause82:Physical Coding Sublayer (PCS) for 64B/66B, type 40GBASE-R and 100GBASE-R 文章目录 1. PCS 介绍1.1 概述1.2 功能框图2. PCS 详述2.1 发送方向2.1.1 64B/66B 编码2.1.2 Scrambler 加扰2.1.3 Block distribution 块分发2.1.4 Alignment marker insertion 插入对齐…

踩坑必看!事务隔离级别选择指南,避免数据库操作的陷阱!

大家好&#xff0c;我是你们的小米&#xff0c;在这个阳光明媚的日子里给大家带来一篇关于数据库事务隔离级别的分享。作为数据库领域的重要概念&#xff0c;事务隔离级别对于保障数据的一致性和稳定性至关重要。废话不多说&#xff0c;让我们一起深入了解吧&#xff01; 四个核…

浅谈RPC,gRPC和RESTful

RPC 远程过程调用&#xff08;Remote Procedure Call&#xff0c;RPC&#xff09;是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间&#xff08;通常为一个开放网络的一台计算机&#xff09;的子程序&#xff0c;而程序员就像调用本地程序一样&…

win10删除系统更新的安装包(清除C盘无用资源)

删除 C:\Windows\SoftwareDistribution\Download 下的全部文件&#xff0c;其为安装系统的安装包&#xff0c;一般没啥用&#xff0c;删了后大概可以省下500M空间。

Windows10无法删除更新缓存,删除C盘SoftwareDistribution下Download文件夹内容

windows更新后&#xff0c;C:\Windows\SoftwareDistribution\Download占据几个G空间&#xff0c;并且无法被清理掉。解决办法&#xff1a; 亲测可用&#xff1a; 参考链接&#xff1a;&#xff08;官方回复&#xff09; win10 C盘磁盘清理&#xff0c;清理系统文件无法删除wi…

Softwaredistribution与系统瘦身

本回答来源于“江乡才子”的百度问答&#xff1a; (VS2010 安装失败&#xff0c;想试试更改Softwaredistribution文件夹名再重装&#xff0c;发现根本就更改不了&#xff0c;所以就想知道这到底是个什么东东&#xff0c;这个答案很不错) 其实这只是windows的一个目录&#xf…

C:\windows\softwaredistribution 文件过大如何处理

最近系统盘空闲空间越来越小&#xff0c;经过排查发现这个目录高达3G&#xff0c;网上百度后发现这是Windows升级留下的&#xff0c;不能随便删除。 google一下Windows官方的论坛&#xff0c;现记录下解决办法。 http://answers.microsoft.com/en-us/windows/forum/windows_xp…

SpringBoot接收请求参数的方式

【方式一】原始方式 因为SpringBoot封装了Servlet&#xff0c;所以也允许使用HttpServletRequest类中的方法来获取 /*** 【方式一】原始方式*/RequestMapping("/demo01")public String demo01(HttpServletRequest request) {// 参数名要与页面提交的参数名一致Strin…