SHARE
TWEET

BiologistProblem

alefhidalgo Jun 20th, 2011 798 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
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