Pergunta de entrevista da empresa Pinterest

Serialize and deserialize a tree and longest common subsequence.

Resposta da entrevista

Sigiloso

29 de jan. de 2020

public class LongestCommonSubsequence { static int maxlen=0; public static void main(String args[]) { String s1 ="abcbdab"; String s2 = "bdcaba"; String result=""; ArrayList resultStr = new ArrayList(); System.out.println(LCA(s1,s2,s1.length()-1,s2.length()-1, result,resultStr)); System.out.println(resultStr); } static int LCA(String s1, String s2, int m, int n, String result, ArrayList resultStr){ if(m 0 && (result.length() > resultStr.get(0).length())) { resultStr.clear(); resultStr.add(result); } if(resultStr.size()== 0 || (result.length() == resultStr.get(0).length())) { resultStr.add(result); } return 0; } if(s1.charAt(m) == s2.charAt(n)) { result=s1.charAt(m)+result; return 1+ LCA(s1,s2,m-1,n-1, result,resultStr ); } else{ return Math.max( LCA(s1,s2,m-1,n, result,resultStr), LCA(s1,s2,m,n-1, result,resultStr)); } } }