This post is completed by 5 users

Add to List 
496. Minimum number of times String A is repeated to such that B is substring of A
Given a string A consisting of n characters and a string B consisting of m characters, write a function that will return the number of times A must be repeated such that B is a substring of the repeated A. If B can never be a substring, return 1.
Example:
A = 'abcd' B ='cdabcdab' The function should return 2 because after repeating A 2 more times, getting 'abcdabcdabcd', B is now a substring of A. You can assume that n and m are integers in the range [1, 1000].
Approach:
 Initialize count = 0.
 First check if length of A >= length of B, if not then keep repeating A into the string buffer S until the above condition is not true.
 Now at this point length of A >= length of B. So check if B is already a substring of A. If not then append A to string buffer S for one last time, do count++ (why one last time, if B is to be substring of A then then you will find it after this append else B is not substring of A, let's take an example A = "abcd" and B = "cdab", if you repeat A then A = "abcdabcd" and now B is substring of A, the edge cases where B is rotation of A, will be solved if we repeat A one time.) and check if B is substring of A then return count else return 1.
Output:
String A: abcd, B: cdabcdab Minimum repetition of A to make B as substring: 2 String A: abcde, B: cdeabcdeabf Minimum repetition of A to make B as substring: 1
Reference: CareerCup