2022-03-03 15:06
网易_信息系统部_高级开发工程师 0 点赞 评论 收藏
分享
2018-07-17 15:32
网易_信息系统部_高级开发工程师 0 点赞 评论 收藏
分享
小度小度:public class Main {
public static void main(String[] args) {
ArrayList<Integer> inputs = new ArrayList<Integer>();
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String pattern=in.nextLine();
System.out.println(resolve(str, pattern));
in.close();
}
// write your code here
public static int resolve(String str,String pattern) {
if(!pattern.contains("*"))
return match(str,pattern);
boolean dp[][]=new boolean[str.length()+1][pattern.length()+1];
for(int i=1;i<dp.length;i++){
for(int j=1;j<dp[0].length;j++){
dp[i][j]=false;
}
}
dp[0][0]=true;
for(int i=1;i<=str.length();i++){
for(int j=1;j<=pattern.length();j++){
char s=str.charAt(i-1);
char p=pattern.charAt(j-1);
if(dp[i-1][j-1]&&(s==p||p=='?'||p=='*'))
dp[i][j]=true;
else{
if(dp[i-1][j]&&p=='*')
dp[i][j]=true;
}
}
}
/*for(int i=0;i<dp.length;i++){
for(int j=0;j<dp[0].length;j++){
System.out.print(dp[i][j]+" ");
}
System.out.println();
}*/
return dp[str.length()][pattern.length()]?1:0;
}
/**
* 检验不含*的pattern
* @param str
* @param patter
* @return
*/
public static int match(String str,String pattern){
if(str.length()!=pattern.length())
return 0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)!=pattern.charAt(i)&&pattern.charAt(i)!='?')
return 0;
}
return 1;
}
}
投递阿里巴巴等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: