SHARE
TWEET

The Biologist Problema Java Tuenti Contest

javipinero Jun 21st, 2011 783 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top