Class Questao03


  • public class Questao03
    extends java.lang.Object
    Descrição da Questão: Duas palavras podem ser consideradas anagramas de si mesmas se as letras de uma palavra podem ser realocadas para formar a outra palavra. Dada uma string qualquer, desenvolva um algoritmo que encontre o número de pares de substrings que são anagramas.

    Exemplo:

    Exemplo 1):

    Entrada:

    ovo

    Saída:

    2

    Explicação:

    A lista de todos os anagramas pares são: [o, o], [ov, vo] que estão nas posições [[0, 2], [0, 1], [1, 2]] respectivamente.
    Exemplo 2):

    Entrada:

    ifailuhkqq

    Saída:

    3

    Explicação:

    A lista de todos os anagramas pares são: [i, i], [q, q] e [ifa, fai] que estão nas posições [[0, 3]], [[8, 9]] e [[0, 1, 2], [1, 2, 3]].
    Since:
    fev 2022
    Version:
    1.0
    Author:
    Randel Souza Almeida
    • Constructor Summary

      Constructors 
      Constructor Description
      Questao03()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int contabilizarAnagramas​(java.util.HashMap<java.lang.String,​java.lang.Integer> mapaAnagramas)
      Método contabilizarAnagramas faz a contabilização de quantas substrings são anagramas
      static void main​(java.lang.String[] args)
      Médodo principal da classe, responsável pela execução do algoritmo
      static java.util.HashMap<java.lang.String,​java.lang.Integer> mapearSubString​(java.lang.String palavra)
      Método mapearSubString responsável por percorer a palavra e encontrar substrings, retornando seu mapeamento
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Questao03

        public Questao03()
    • Method Detail

      • main

        public static void main​(java.lang.String[] args)
        Médodo principal da classe, responsável pela execução do algoritmo
        Parameters:
        args - array de String, argumentos que podem ser passados para o método main
      • contabilizarAnagramas

        public static int contabilizarAnagramas​(java.util.HashMap<java.lang.String,​java.lang.Integer> mapaAnagramas)
        Método contabilizarAnagramas faz a contabilização de quantas substrings são anagramas
        Parameters:
        mapaAnagramas - HashMap passando o mapeamento das substrings
        Returns:
        retorna um inteiro que é o número de anagramas contabilizados
      • mapearSubString

        public static java.util.HashMap<java.lang.String,​java.lang.Integer> mapearSubString​(java.lang.String palavra)
        Método mapearSubString responsável por percorer a palavra e encontrar substrings, retornando seu mapeamento
        Parameters:
        palavra - palavra do tipo String
        Returns:
        retorna um HashMap que é o mapeamento das substrings