Binary String Matching二进制字符串匹配

描述

Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For example, the text string B is ‘1001110110’ while the pattern string A is ‘11’, you should output 3, because the pattern A appeared at the posit

输入

The first line consist only one integer N, indicates N cases follows. In each case, there are two lines, the first line gives the string A, length (A) <= 10, and the second line gives the string B, length (B) <= 1000. And it is guaranteed that B is always longer than A.

输出

For each case, output a single line consist a single integer, tells how many times do B appears as a substring of A.

package suanfa;
import java.util.Scanner;
public class Fiveth {
	public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	int n = sc.nextInt();
	int result[]=new int[n];
	String a,b;
	for(int j=0;j<n;j++) {
	   a = sc.next();
	 b = sc.next();
	int sum=0;
	for(int i=0;i<b.length()-a.length()+1;i++){
	if(a.equals(b.substring(i,i+a.length()))){
	sum++;
	}
	}
	result[j]=sum;
	}
	for(int i=0;i<n;i++) {
	System.out.println(result[i]);
	}

}}

猜你喜欢

转载自blog.csdn.net/weixin_42565135/article/details/82941751