문자열 에서 하위 문자열 이 처음 나타 난 위치 찾기 - 필기시험 면접 문제
875 단어 프로그래머 필기시험 면접 문제
2. 모든 언어 를 버 리 고 단순히 알고리즘 적 인 측면 에서 볼 때 이 문 제 는 어떻게 풀 어야 하나 요?(이런 독립 적 인 사고 과정 은 매우 중요 하 므 로 끊임없이 자신 을 훈련 시 켜 야 한다)
사고 1: str 1 에서 str 2 의 첫 번 째 문자 가 나타 난 위 치 를 찾 은 다음 에 한 글자 한 글자 의 비교 str 1 과 str 2 를 찾 습 니 다. str 2 가 끝 날 때 까지 똑 같 으 면 str 2 가 str 1 에서 처음으로 나타 난 위 치 를 찾 습 니 다.그렇지 않 으 면 str 1 에서 str 2 의 첫 번 째 문자 가 나타 난 위 치 를 찾 습 니 다...이런 사고방식 은 이해 하기 쉽 고 생각 하기 도 쉽 지만 코드 로 실현 하기 가 쉽 지 않 거나 복잡 하 다.
사고 2: str 1 에서 str 2 길이 와 같은 문자열 을 캡 처 하고 str 2 와 비교 하면 똑 같 으 면 찾 을 수 있 습 니 다. 똑 같 지 않 으 면 새로운 문자열 을 캡 처 합 니 다.찾 거나 찾 지 못 할 때 까지.(이런 사고방식 은 매우 좋 고 컴퓨터 의 측면 에서 고려 해도 실현 하기 쉽다)
3. 자바 구현 코드:
4. 567913. 4. str 2 가 str 1 에서 나타 난 횟수 를 통계 하면 간단 하 다. 위의 절 차 를 조금 만 개조 하면 된다.