zoukankan      html  css  js  c++  java
  • 686. Repeated String Match

    Given two strings A and B, find the minimum number of times A has to be repeated such that B is a substring of it. If no such solution, return -1.

    For example, with A = "abcd" and B = "cdabcdab".

    Return 3, because by repeating A three times (“abcdabcdabcd”), B is a substring of it; and B is not a substring of A repeated two times ("abcdabcd").

    Note:
    The length of A and B will be between 1 and 10000.

    重复几次A后,B是A的子串

    C++(16ms):

     1 class Solution {
     2 public:
     3     int repeatedStringMatch(string A, string B) {
     4         string t = A ;
     5         for(int i = 1 ; i <= B.length()/A.length()+2 ; i++){
     6             if (t.find(B) != string::npos){
     7                 return i ;
     8             }else{
     9                 t += A ;
    10             }
    11         }
    12         return -1; 
    13     }
    14 };

    Java(412ms):

     1 class Solution {
     2     public int repeatedStringMatch(String A, String B) {
     3         String t = A ;
     4         for(int i = 1 ; i <= B.length()/A.length()+2 ; i++){
     5             if (t.indexOf(B) != -1)
     6                 return i ;
     7             else
     8                 t += A ;
     9         }
    10         return -1 ;
    11     }
    12 }
  • 相关阅读:
    BZOJ 4010: [HNOI2015]菜肴制作( 贪心 )
    bzoj 1084
    bzoj 2763
    bzoj 1003
    bzoj 1858
    codevs 1296
    cf 438D
    vijos 1083
    codevs 3303
    bzoj 1296
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/7683491.html
Copyright © 2011-2022 走看看