[leetcode] 중 복 된 하위 문자열 [javascript]
6217 단어 leetcode
묘사 하 다.
빈 문자열 이 아 닌 문자열 을 지정 하여 하위 문자열 이 여러 번 반복 되 는 지 판단 합 니 다.주어진 문자열 은 소문 자 만 포함 하고 길 이 는 10000 을 넘 지 않 습 니 다.예시 1:
: "abab"
: True
: "ab" 。
예시 2:
: "aba"
: False
예시 3:
: "abcabcabcabc"
: True
: "abc" 。 ( "abcabc" 。)
분석 하 다.
하위 문자열 을 직접 순환 해서 찾 은 다음 내부 에서 다시 순환 합 니 다. 문자열 과 다 르 면 내부 순환 에서 벗 어 납 니 다.만약 튀 어 나 오지 않 았 다 면, 중 복 된 문자열 을 찾 았 다 는 것 이다.순환 이 끝나 지 않 으 면 false 로 돌아 갑 니 다.flag 를 사용 하여 상태 판단 을 진행 하 였 습 니 다.
/**
* @param {string} s
* @return {boolean}
*/
var repeatedSubstringPattern = function(s) {
let len = s.length, count = 0
if (len <= 1) {
return false
}
while (len >> 1 > count) {
count++
if (len % count !== 0) {
continue
}
let sample = s.slice(0, count), flag = true // flag
for (let i = 0;i < len / count; i++) {
if (sample !== s.slice(i * count, (i + 1) * count)) {
flag = false
break
}
}
if (flag) {
return true
} else {
continue
}
}
return false
};
leetcode 의 dalao 의 또 다른 해법
var repeatedSubstringPattern = function(s) {
return (s + s).slice(1, -1).indexOf(s) >= 0
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
0부터 시작하는 LeetCode Day8 「1302. Deepest Leaves Sum」해외에서는 엔지니어의 면접에 있어서 코딩 테스트라고 하는 것이 행해지는 것 같고, 많은 경우, 특정의 함수나 클래스를 주제에 따라 실장한다고 하는 것이 메인이다. 빠른 이야기가 본고장에서도 행해지고 있는 것 같은 코...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.