-
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) <= 100. 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.
样例输入
-
3 11 1001110110 101 110010010010001 1010 110100010101011
样例输出
-
3 0 3
import java.util.Scanner;
public class Main05 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int n = scan.nextInt(); // 测试数据的组数
while (n != 0 )
{
String A = scan.next();
String B = scan.next();
String temp = "" ;
int count = 0 ;
if (A.length() > B.length())
System.out.println(count);
else
{
for ( int i = 0 ;i <= B.length() - A.length();i ++ )
{
temp = B.substring(i, i + A.length()); // 注意字符串截取时最后一个下标不包含
if (temp.equals(A))
count ++ ;
}
System.out.println(count);
}
n -- ;
}
}
}
很简单,也没有用什么匹配算法,java里面提供了截取字串的方法,直接去字串就行,提交了2次才过,注意的是截取字串是从start(下标包括)到end(下标不包括)
描述 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
输入