题目如下:
这一题的思路很简单用领导要求的序列去从头至尾遍历,如果满足就结果加1,然后从满足序列的下一个未遍历到的元素开始遍历,直到剩下的序列比要求的序列短的时候截止,如果中途有不匹配的地方就停止本次遍历,从开始遍历的那个元素的下一个元素开始遍历,直到剩下的序列比要求的序列短的时候停止
代码如下:
import java.util.*;
public class Nine {
static char[] arr1 = null,arr2=null;
static int result = 0;
static int flag=0;
static int start=0;
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
String str2 = sc.nextLine();
arr1 = str1.toCharArray();
arr2 = str2.toCharArray();
for(flag=0;flag<arr1.length;){
if(arr1.length - flag >=arr2.length){
for(int j=0;j<arr2.length;j++){
if(arr1[flag+j]==arr2[j]){
if(j==arr2.length-1){
result+=1;
start = flag+j+1;
flag = start;
}
}else{
start++;
flag=start;
break;
}
}
}else{
break;
}
}
System.out.print(result);
}
}
运行结果: