Advertisement
alefhidalgo

BiologistProblem

Jun 20th, 2011
1,796
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.12 KB | None | 0 0
  1. import java.util.Scanner;
  2. /**
  3.  * Tuenti Programming Contest
  4.  * Challenge 8: The Biologist Problem
  5.  * @author alefhidalgo [at] gmail [dot] com
  6.  */
  7. public class BiologistProblem {
  8.    
  9.     /**
  10.      * maxPattern returns max pattern between a and b
  11.      * @param a
  12.      * @param b
  13.      * @return
  14.      */
  15.     public static String maxPattern(String a, String b) {
  16.         String cad = a;
  17.         String pattern = b;
  18.         if (b.length() > a.length()) {
  19.             cad = b;
  20.             pattern = a;
  21.         }
  22.         String sub = null;
  23.         String maxPattern = "";
  24.         for (int i = pattern.length(); i >= 0; i--) {
  25.             for (int j = 0; j < i; j++) {
  26.                 sub = pattern.substring(j, i);
  27.                 if (cad.contains(sub)) {
  28.                     if (sub.length() > maxPattern.length()) {
  29.                         maxPattern = sub;
  30.                     }
  31.                 }
  32.             }
  33.         }
  34.         return maxPattern;
  35.     }
  36.  
  37.     public static void main(String args[]) {
  38.         Scanner in = new Scanner(System.in);
  39.         Scanner lineScanner = null;
  40.         String seqA = null;
  41.         String seqB = null;
  42.         while (in.hasNextLine()) {
  43.             lineScanner = new Scanner(in.nextLine());
  44.             seqA = lineScanner.next();
  45.             seqB = lineScanner.next();
  46.             System.out.println(maxPattern(seqA, seqB));
  47.         }
  48.  
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement