TOPIC

Porque o uri me retorna Time limit exceeded?

Jonathan Luis Concato asked 1 year ago

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {

        InputStreamReader ir = new InputStreamReader(System.in);
        BufferedReader in = new BufferedReader(ir);

        String entrada = "";
        int i, j;

        while ((entrada = in.readLine())!=null){

                String teclado = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
                String quebra[] = teclado.split("");
                String nova = entrada;
                String letra[] = nova.split("");

                for (i = 0; i < letra.length; i++ ) {
                    if(letra[i].equals(" ")){
                            System.out.print(letra[i]);
                    }
                    for (j = 0; j < quebra.length; j++ ) {

                        if(letra[i].equals(quebra[j])){

                            if(letra[i] == letra[letra.length-1]){
                                System.out.println(quebra[j-1]);
                            }else{
                                System.out.print(quebra[j-1]);
                            }
                        }
                    }

                }

        }
    }

}

Remember not post solutions. Your post may be reviewed by our moderators.

  • Matheus Fabian replied 11 months ago

    Existem formas mais otimizadas de se resolver este problema. Ele deve ser resolvido com complexidade O(n). Você está percorrendo toda a string até achar o caractere desejado, e com isso, seu programa acaba fazendo muitas iterações.