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

