关注
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 
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 工作中哪个瞬间让你想离职 #
28532次浏览 200人参与
# 在职场上,你最讨厌什么样的同事 #
16389次浏览 166人参与
# 选了这个offer,你有没有后悔? #
593189次浏览 4031人参与
# 机械人,秋招第一次笔试的企业是哪家? #
41199次浏览 327人参与
# 小米硬件提前批进度交流 #
171185次浏览 1528人参与
# 机械求职避坑tips #
53527次浏览 381人参与
# 哪些公司校招卡第一学历 #
75745次浏览 311人参与
# 担心入职之后被发现很菜怎么办 #
139738次浏览 810人参与
# 入职以后才知道的校招谎言 #
89099次浏览 588人参与
# 职场常用语录大全 #
4222次浏览 32人参与
# Offer比较,你最看重什么? #
192226次浏览 1310人参与
# 华子oc时间线 #
1245143次浏览 6487人参与
# 哪些公司开提前批了? #
30308次浏览 277人参与
# 风评不好的公司,你会去吗? #
66265次浏览 468人参与
# 两会劳动法放大招 #
76734次浏览 692人参与
# 应届生初入职场,求建议 #
230382次浏览 2651人参与
# 实习如何「偷」产出? #
57085次浏览 1402人参与
# 不卡学历的大厂有哪些? #
33407次浏览 257人参与
# 怎么防止在试用期被辞退 #
129233次浏览 927人参与
# 校招阶段,学历VS技术哪个更重要? #
19905次浏览 210人参与