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:

原文链接:HackerRank #39 | HashSet |

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容