JavaScript前端學(xué)算法題解LeetCode最大重復(fù)子字符串
這是LeetCode的第1668題:最大重復(fù)子字符串
最大重復(fù)子字符串
給你一個(gè)字符串 sequence ,如果字符串 word 連續(xù)重復(fù) k 次形成的字符串是 sequence 的一個(gè)子字符串,那么單詞 word 的 重復(fù)值為 k 。單詞 word 的 最大重復(fù)值 是單詞 word 在 sequence 中最大的重復(fù)值。如果 word 不是 sequence 的子串,那么重復(fù)值 k 為 0 。給你一個(gè)字符串 sequence 和 word ,請(qǐng)你返回 最大重復(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的長(zhǎng)度肯定是小于等于sequence;當(dāng)word的長(zhǎng)度大于sequence的長(zhǎng)度?;蛘遱equence不包含word那就可以直接返回 0;初始化count為重復(fù)值,初始化一個(gè)變量str,讓他等于word,當(dāng)str的長(zhǎng)度小于等于sequence就可以判斷sequence是否包含str,如果包含那就令 str=str+word并且count自加1,如果不包含就返回count
具體步驟可以拆分為:
- 第一步:判斷 當(dāng)
word的長(zhǎng)度大于sequence的長(zhǎng)度或者sequence不包含word就返回 0 - 第二步:初始化
count為重復(fù)值,初始化一個(gè)變量str,當(dāng)str的長(zhǎng)度小于等于sequence的長(zhǎng)度就進(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
};

知識(shí)點(diǎn)
includes:用來判斷一個(gè)數(shù)組或者字符串是否包含一個(gè)指定的值,根據(jù)情況,如果包含則返回 true,否則返回 false。
repeat() : str=str+word可以用repeat來代替,repeat方法構(gòu)造并返回一個(gè)新字符串,該字符串包含被連接在一起的指定數(shù)量的字符串的副本。
以上就是JavaScript前端學(xué)算法題解LeetCode最大重復(fù)子字符串的詳細(xì)內(nèi)容,更多關(guān)于JavaScript算法最大重復(fù)子字符串的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JS處理數(shù)據(jù)實(shí)現(xiàn)分頁功能
這篇文章介紹了JS處理數(shù)據(jù)實(shí)現(xiàn)分頁功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
JS?中Json字符串+Cookie+localstorage
這篇文章主要介紹了JS?中Json字符串+Cookie+localstorage,Json主要用于前后端交互,是一種數(shù)據(jù)格式,相較于Xml,使用起來更加便捷,下面文章將對(duì)他們?cè)敿?xì)介紹,需要的朋友可以參考一下2021-12-12
微信小程序 less文件編譯成wxss文件實(shí)現(xiàn)辦法
這篇文章主要介紹了微信小程序 less文件編譯成微信小程序wxss文件實(shí)現(xiàn)辦法的相關(guān)資料,這里給出具體實(shí)現(xiàn)方法,需要的朋友可以參考下2016-12-12
微信小程序(二十二)action-sheet組件詳細(xì)介紹
這篇文章主要介紹了微信小程序action-sheet組件詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-09-09
關(guān)于JavaScript輪播圖的實(shí)現(xiàn)
這篇文章主要介紹了關(guān)于JavaScript輪播圖的實(shí)現(xiàn),下面文章主要是利用利用html 和 css 代碼實(shí)現(xiàn)輪播圖,詳細(xì)內(nèi)容請(qǐng)參考下面詳細(xì)內(nèi)容,希望對(duì)你有所幫助2021-11-11
微信小程序 swiper制作tab切換實(shí)現(xiàn)附源碼
這篇文章主要介紹了微信小程序 swiper制作tab切換實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01

