문자열 연결을 통한 회전 검증
소프트웨어 개발 인터뷰에서 지원자는 문제 해결 능력을 테스트하는 복잡한 질문에 직면하는 경우가 많습니다. 이러한 과제 중 하나는 한 문자열이 다른 문자열의 회전된 버전인지 확인하는 것입니다.
다음 인터뷰 질문을 고려하세요.
질문:
두 개의 문자열이 주어졌습니다. , s1 및 s2, s1이 s2의 회전 버전인지 어떻게 확인합니까?
예:
이전에 인터뷰 대상자는 회전점 및 분할 하위 문자열 연결. 그러나 면접관은 더 간단한 접근 방식을 요청했습니다.
최적의 솔루션:
더 효율적인 솔루션은 문자열 연결을 활용합니다. s2가 자신과 연결된 s1의 하위 문자열인지 확인합니다. 이렇게 하면 가능한 모든 회전이 고려됩니다.
의사 코드:
algorithm checkRotation(string s1, string s2) if( len(s1) != len(s2)) return false if( substring(s2,concat(s1,s1)) return true return false end
Java 구현:
<code class="java">boolean isRotation(String s1,String s2) { return (s1.length() == s2.length()) && ((s1+s1).indexOf(s2) != -1); }</code>
이 알고리즘은 문자열이 다른 문자열의 회전인지 확인하는 간단하고 효과적인 방법을 제공하여 더 간단한 솔루션에 대한 면접관의 요청을 충족합니다.
위 내용은 다음은 질문-답변 형식을 통합하고 핵심 내용에 초점을 맞춘 몇 가지 제목 옵션입니다. **옵션 1(직접적이고 간결하게):** * **문자열 s1은 문자열 s2의 회전인가요? 간단한 해결책의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!