Solução Java: Problema da sopa de letras (versão cruzadinha)

From AdonaiMedrado.Pro.Br
Jump to: navigation, search

Dificuldade 1

public class CruzadinhaD1 
{
    public int retornarQuantidadeDePalavrasEncontradas(
            String[] cruzadinha, String[] palavras)
    {
        int retorno = 0;
        StringBuilder sbHorizontal = new StringBuilder();
        StringBuilder sbVertical = new StringBuilder();
 
        for(int i = 0; i <cruzadinha.length; i++) 
        {
            sbHorizontal.append(cruzadinha[i]);
            sbHorizontal.append(" ");
        }
 
        if (cruzadinha.length > 0)            
            for(int s = 0; s < cruzadinha[0].length(); s++)
            {
                for(int i = 0; i <cruzadinha.length; i++)                 
                    sbVertical.append(cruzadinha[i].charAt(s));                    
                sbVertical.append(" ");
            }
 
        for (int i = 0; i < palavras.length; i++)        
            if (    (sbHorizontal.toString().indexOf(palavras[i])!=-1
                    ||
                    sbHorizontal.reverse().toString().indexOf(palavras[i])!=-1)
                    &&
                    (sbVertical.toString().indexOf(palavras[i])!=-1
                    ||
                    sbVertical.reverse().toString().indexOf(palavras[i])!=-1)
                )
                retorno++;        
 
        return retorno;
    }
}