Versão atual:

Sequenciar Strings

Olá pessoal, tenho um exercício de String para fazer, mas não consegui encontrar a lógica correta.

Dado um conjunto de strings, o sistema deve calcular o tamanho da maior sequência que pode ser produzida com as seguintes restrições. A sequência de strings precisa ter a seguinte propriedade:

  • Se Si aparece imediatamente antes de Si + 1 na sequência, então Si - 1 é uma string que pode ter crescido a partir de Si (ou seja, Si é uma substring contígua de Si + 1).
    • Não é permitido haver strings repetidas no conjunto de strings analisadas, portanto todas as strings na sequência devem ser diferentes.

Para cada conjunto de strings, o sistema deve apresentar um número inteiro representando o tamanho da maior sequência de strings que pode ser produzida, bem como a sequência.

Ex: Entrada :[a, atn, ant, antt, an, antes, ante, ateees]Saída :a -> an -> ant -> ante -> antes. Maior sequencia: 6

O que consegui fazer:

    public static ArrayList verificarStrings(ArrayList<String> arrayDeStrings) {

        ArrayList<String> arrayDeSequencia = new ArrayList<String>();        
        int cont = 0;
        int valorMaximo = 0;
        for (int i = 0; i < 10; i++) {            
            arrayDeStrings.add(JOptionPane.showInputDialog(null, "Digite a " + i + "ª String: ",
                    JOptionPane.PLAIN_MESSAGE));
        }
        for (int k = 0; k < arrayDeStrings.size(); k++) {
            for (int j = 0; j < arrayDeStrings.size() - 1; j++) {
                if (arrayDeStrings.get(j + 1).contains(arrayDeStrings.get(j))) {
                    arrayDeSequencia.add(arrayDeStrings.get(j));
                    cont++;
                }
            }
            if (cont > valorMaximo) {
                valorMaximo = cont;
            } else {
                cont = 0;
            }
        }
        System.out.println(Arrays.toString(arrayDeSequencia.toArray()));
        System.out.println(cont);

        return arrayDeStrings;
    }

Versões(2):

Ver a versão formatada

Sequenciar Strings

Comentário

new question