Advertisement
javipinero

The Biologist Problema Java Tuenti Contest

Jun 21st, 2011
1,572
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.44 KB | None | 0 0
  1. package biologist;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.util.StringTokenizer;
  6.  
  7. public class Biologist {
  8.    
  9.     public static String comparar(String str1, String str2) {
  10.         char[] cadena1 = str1.toCharArray();
  11.         char[] cadena2 = str2.toCharArray();
  12.         int resultado[][] = new int[cadena1.length + 1][cadena2.length+1];
  13.         int maximo = 0;
  14.         int finalEnCadena1 = 0;
  15.        
  16.         for (int i=0; i<=cadena1.length; i++) {
  17.             resultado[i][0] = 0;
  18.         }
  19.        
  20.         for (int j=0; j<=cadena2.length; j++) {
  21.             resultado[0][j] = 0;
  22.         }
  23.        
  24.         for (int i=1; i<=cadena1.length; i++) {
  25.             for (int j=1; j<cadena2.length; j++) {
  26.                 if(cadena1[i-1] == cadena2[j-1]) {
  27.                     resultado[i][j] = resultado[i-1][j-1]+1;
  28.                     if (resultado[i][j] > maximo) {
  29.                         maximo = resultado[i][j];
  30.                         finalEnCadena1 = i;
  31.                     }
  32.                 } else {
  33.                     resultado[i][j] = 0;
  34.                 }
  35.             }
  36.         }
  37.        
  38.        
  39.         String devolver = str1.substring(finalEnCadena1-maximo, finalEnCadena1);
  40.        
  41.         return devolver;
  42.        
  43.     }
  44.    
  45.     public static void main(String args[]) {
  46.        
  47.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  48.        
  49.         try{
  50.            
  51.             while (br.ready()) {
  52.                 String linea = br.readLine();
  53.                 if (!linea.isEmpty()) {
  54.                     StringTokenizer tokens = new StringTokenizer(linea);
  55.                     System.out.println(comparar(tokens.nextToken(), tokens.nextToken()));
  56.                 }
  57.             }
  58.            
  59.         } catch (Exception e) {
  60.             e.printStackTrace();
  61.         }
  62.     }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement