时间限制: 3000 ms | 内存限制: 65535 KB
难度: 3
描述
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.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int N = input.nextInt(); String s1,s2; for(int i =0;i<N;i++){ s1=input.next(); s2=input.next(); if(s1.length()>s2.length()||s1.length()>10||s2.length()>1000){ System.out.println("Wrong!"); break; } else System.out.println(count(s1,s2)); } } public static int count(String s1,String s2){ int num=0; for(int i= 0;i<s2.length()-1;i++){ for(int j= i+1;j<s2.length();j++){ if(s2.substring(i, j)==s1) num++; } } return num; } }
拟人
蜂之谷
慕的地8582982
相关分类