巧用HashSet装载非重数据(洛谷P2250题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
巧用HashSet装载非重数据(洛谷P2250题题解,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
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確實快,真的快~~
總結
以上是生活随笔為你收集整理的巧用HashSet装载非重数据(洛谷P2250题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】Python中的异常处理
- 下一篇: 【Python】可视化的离散傅里叶变换+