JavaScript前端學(xué)算法題解LeetCode最大重復(fù)子字符串
這是LeetCode的第1668題:最大重復(fù)子字符串
最大重復(fù)子字符串
給你一個字符串 sequence ,如果字符串 word 連續(xù)重復(fù) k 次形成的字符串是 sequence 的一個子字符串,那么單詞 word 的 重復(fù)值為 k 。單詞 word 的 最大重復(fù)值 是單詞 word 在 sequence 中最大的重復(fù)值。如果 word 不是 sequence 的子串,那么重復(fù)值 k 為 0 。給你一個字符串 sequence 和 word ,請你返回 最大重復(fù)值 k 。
示例 1:
輸入:sequence = "ababc", word = "ab"
輸出:2
解釋:"abab" 是 "ababc" 的子字符串。
示例 2:
輸入:sequence = "ababc", word = "ba"
輸出:1
解釋:"ba" 是 "ababc" 的子字符串,但 "baba" 不是 "ababc" 的子字符串。
示例 3:
輸入:sequence = "ababc", word = "ac"
輸出:0
解釋:"ac" 不是 "ababc" 的子字符串。
解題思路
如果 word 是 sequence,的字串,那word的長度肯定是小于等于sequence;當(dāng)word的長度大于sequence的長度?;蛘遱equence不包含word那就可以直接返回 0;初始化count為重復(fù)值,初始化一個變量str,讓他等于word,當(dāng)str的長度小于等于sequence就可以判斷sequence是否包含str,如果包含那就令 str=str+word并且count自加1,如果不包含就返回count
具體步驟可以拆分為:
- 第一步:判斷 當(dāng)
word的長度大于sequence的長度或者sequence不包含word就返回 0 - 第二步:初始化
count為重復(fù)值,初始化一個變量str,當(dāng)str的長度小于等于sequence的長度就進(jìn)入循環(huán),否則返回count - 第三步:循環(huán)體內(nèi)判斷
sequence是否包含str,如果包含就令str=str+word,且讓count自增1;否則直接返回count
var maxRepeating = function(sequence, word) {
if(word.length>sequence.length || !sequence.includes(word)) return 0
let str = word
let count = 0
while(str.length<=sequence.length){
if(sequence.includes(str)){
str+=word
count++
}else{
return count
}
}
return count
};

知識點
includes:用來判斷一個數(shù)組或者字符串是否包含一個指定的值,根據(jù)情況,如果包含則返回 true,否則返回 false。
repeat() : str=str+word可以用repeat來代替,repeat方法構(gòu)造并返回一個新字符串,該字符串包含被連接在一起的指定數(shù)量的字符串的副本。
以上就是JavaScript前端學(xué)算法題解LeetCode最大重復(fù)子字符串的詳細(xì)內(nèi)容,更多關(guān)于JavaScript算法最大重復(fù)子字符串的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript使用JSON.stringify()方法帶參及不帶參示例詳解
這篇文章主要介紹了JavaScript使用JSON.stringify()方法帶參及不帶參示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
純js實現(xiàn)高度可擴展關(guān)鍵詞高亮方案詳解
這篇文章主要為大家介紹了純js實現(xiàn)高度可擴展關(guān)鍵詞高亮方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Js原型鏈constructor prototype __proto__屬性實例詳解
這篇文章主要介紹了Js原型鏈constructor prototype __proto__屬性實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
fetch-event-source庫使用源碼學(xué)習(xí)
這篇文章主要為大家介紹了fetch-event-source庫源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
gulp-font-spider實現(xiàn)中文字體包壓縮實踐
這篇文章主要為大家介紹了gulp-font-spider實現(xiàn)中文字體包壓縮實踐詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
微信小程序 數(shù)組中的push與concat的區(qū)別
這篇文章主要介紹了微信小程序 數(shù)組中的push與concat的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-01-01

