DEV Community

Beatriz Maciel
Beatriz Maciel

Posted on • Updated on

HackerRank #39 | HashSet | 🇧🇷

Esse exercício pede para resolvermos usando o HashSet. O HashSet é na verdade um tipo de lista que não repete objetos e isso vai facilitar a resolução do nosso problema.

A partir de um input de um integer t, recebemos um número t de pares, podendo ser repetidos ou não. Vejamos o exemplo:

5
john tom
john mary
john tom
mary anna
mary anna
Enter fullscreen mode Exit fullscreen mode

Temos 5 pares (delimitados por t) e alguns estão repetidos. Precisamos filtrar esses pares e contabilizar apenas os que não se repetem. No exemplo acima isso significa que precisamos ignorar um dos "john tom" e do "mary anna".
O output precisa mostrar a contabilidade de pares únicos e fica assim:

1
2
2
3
3
Enter fullscreen mode Exit fullscreen mode

Para fazer isso, seguimos o passo a passo:

  • Fazemos um HashSet<String> hashset = new HashSet<>();, de acordo com a sintaxe do HashSet
  • Fazemos um for que itera a quantidade de pares únicos, ficando assim:
        HashSet<String> hashset = new HashSet<>();

        for (int i = 0; i < t; i++){
            hashset.add(pair_left[i] + " " + pair_right[i]);
            System.out.println(hashset.size());
        }
Enter fullscreen mode Exit fullscreen mode

Dessa forma, cada par que se forma ocupará uma posição no HashSet e ele não aceitará pares repetidos!

======

Referências

HashSet : Oracle

============

Essa publicação faz parte de uma série de exercícios resolvidos em Java no HackerRank. Acesse a série completa:

Discussion (0)