本文主要是介绍LintCode 1086. 重复字符串匹配 JavaScript算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
给定两个字符串A和B,找到A必须重复的最小次数,以使得B是它的子字符串。 如果没有这样的解决方案,返回-1。
说明
A和B的长度在1到10000之间。
样例
- 样例1:输入 : A = "a" B = "b".
输出 : -1- 样例 2:输入 : A = "abcd" B = "cdabcdab".
输出 :3
解释:因为将A重复3次以后 (“abcdabcdabcd”), B将成为其的一个子串 ; 而如果A只重复两次 ("abcdabcd"),B并非其的一个子串.
解析
repeatedStringMatch = function (A, B) {s = A, c = 1;while(A.length < B.length) {A += s;c++;}if(A.indexOf(B) >= 0) return c;A = A + s;if(A.indexOf(B) >= 0) return c+1;return -1;
}
运行结果
这篇关于LintCode 1086. 重复字符串匹配 JavaScript算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!