java实现求字符串中出现次数最多的字串(单个字符不算)如"abcbcbcabc"的最终答案是bc 共出现了4 次,
怪我咯
怪我咯 2017-04-18 10:15:27
0
2
456

如题java实现求字符串中出现次数最多的字串(单个字符不算)如"abcbcbcabc"的最终答案是bc 共出现了4 次,

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(2)
迷茫

부분 문자열 s가 문자열 S에 x번 나타난다고 가정하면 부분 문자열 s의 부분 문자열 s2는 적어도 x번 이상 나타날 것입니다.

단일 문자는 포함되지 않으므로 가장 자주 나타나는 하위 문자열 중 하나가 2자 하위 문자열이어야 한다는 문제가 있습니다.

조건에 맞는 것만 찾으려면 2자리 하위 문자열만 찾으면 됩니다

최대 발생 횟수 = 최대 발생 횟수인 하위 문자열을 모두 찾으려면 좀 더 복잡해집니다.

1. 문자열 S의 길이가 N
2이라고 가정합니다. 문자열에서 인접한 두 문자를 N-1 하위 문자열로 결합한 다음 2자 바이트 문자열을 세어 어느 것이 가장 많이 나타나는지 확인합니다.
3. 1보다 큰 숫자의 2자리 문자열이 없으면 검색이 종료됩니다.
4. 1보다 큰 2자리 문자열이 여러 개 있으면 이 2자리 문자열을 비교합니다. 첫 번째 문자열이 있는지 확인하려면 문자열의 끝이 두 번째 문자열의 시작 부분에 있는 문자열과 같습니다. 예를 들어, ab는 3번 나타나고 bc는 3번 나타날 수 있습니다. 3자 문자열의 발생 횟수를 결정합니다. 횟수가 2자 문자열의 발생 횟수보다 작으면 답은 2자 문자열이고, 그렇지 않으면 3자 문자열일 수 있습니다. 끈.
5. 그런 다음 계속해서 4, 5, 6개의 문자열을 감지합니다

또한 문자열 발생 횟수에 대한 통계 알고리즘을 명확히 해야 합니다. 예를 들어 aaaaaa의 하위 문자열 aa가 3번 나타나는지, 아니면 5번 나타나는지?

Ty80

정규화가 더 쉬운 것 같아요. 정규식을 사용하지 않는다면 반드시 반복이나 재귀를 통해 해결해야 합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿