import java.util.*; public class JDQ2 {     public int calculate(String[]strs,String T) {         int[]results=new int[T.length()+1];         for(int i=0;i<results.length;i++)results[i]=-1;         int beginIndex=0;         return calculate(results,beginIndex,strs,T);     } public int calculate(int[]results,int beginIndex,String[]strs,String T) {     if(results[beginIndex]!=-1)return results[beginIndex];     List<Integer>result=new ArrayList<Integer>();     for(int i=0;i<strs.length;i++)     {         String S=T.substring(beginIndex);         int pos=S.indexOf(strs[i]);         if(pos!=-1)             result.add(calculate(results,beginIndex+pos+strs[i].length(),strs,T));     }     int ans=-1;     if(!result.isEmpty())ans= 1+Collections.max(result);     else ans= 0;     results[beginIndex]=ans;     return ans; }     public static void main(String[] args) {         // TODO Auto-generated method stub         String[]strs= {"aa","b","ac"};        String T="bbaac";         Scanner sc=new Scanner(System.in);         //int m=sc.nextInt();        sc.nextLine();         //String[]strs=new String[m];         //for(int i=0;i<m;i++)strs[i]=sc.nextLine();         //String T=sc.nextLine();                  System.out.print(new JDQ2().calculate(strs, T));     } }
点赞 1

相关推荐

07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务