zoukankan      html  css  js  c++  java
  • NYOJ之Binary String Matching

    Binary String Matching

    时间限制: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.

    样例输入:
    3
    11
    1001110110
    101
    110010010010001
    1010
    110100010101011

    样例输出:
    3
    0
    3

    --------------------------------------------------------------------



    AC代码:

     1 import java.util.Scanner;
     2 
     3 public class Main {
     4 
     5     public static void main(String[] args) {
     6         
     7         Scanner sc=new Scanner(System.in);
     8         int n=Integer.parseInt(sc.nextLine());
     9         
    10         while(n-->0){
    11             String a=sc.nextLine();
    12             String b=sc.nextLine();
    13             int ans=solve(a,b);
    14             System.out.println(ans);
    15         }
    16         
    17     }
    18     
    19     public static int solve(String a,String b){
    20         int res=0;
    21         for(int i=0;i<b.length();i++){
    22             int j=0;
    23             for(j=0;j<a.length();j++){
    24                 if((i+j>=b.length()) || (a.charAt(j)!=b.charAt(i+j))) break;
    25             }
    26             if(j==a.length()) res++;
    27         }
    28         return res;
    29     }
    30     
    31 }
    32 
    33 
    34 
    35 另一种AC思路:(利用了内建的方法,不重复造轮子)
    36 
    37 import java.util.Scanner;
    38 
    39 public class Main {
    40     
    41     public static void main(String[] args) {
    42         
    43         Scanner sc=new Scanner(System.in);
    44         int n=Integer.parseInt(sc.nextLine());
    45         
    46         while(n-->0){
    47             String a=sc.nextLine();
    48             String b=sc.nextLine();
    49             int ans=solve(a,b);
    50             System.out.println(ans);
    51         }
    52         
    53     }
    54     
    55     
    56     public static int solve(String a,String b){
    57         int res=0;
    58         while(a.length()<=b.length()){
    59             if(b.indexOf(a)==0) res++;
    60             b=b.substring(1,b.length());
    61         }
    62         return res;
    63     }
    64     
    65 }


    题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=5

  • 相关阅读:
    Net Core -- 配置Kestrel端口
    NET Core迁移
    NET Core 2.0 微服务跨平台实践
    NET Core 与 Vue.js 服务端渲染
    Varnish 实战
    Hitchhiker 是一款开源的 Restful Api 测试工具
    ABP框架用Dapper实现通过SQL访问数据库
    开源框架总体介绍
    Net Core API网关Ocelot
    Jquery autocomplete插件
  • 原文地址:https://www.cnblogs.com/cc11001100/p/5788873.html
Copyright © 2011-2022 走看看