Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 두 문자열이 0 또는 1 편집 거리에 있는지 확인하는 프로그램

<시간/>

두 개의 문자열 S와 T가 있다고 가정하고 편집 거리가 1인지 0인지 확인해야 합니다. 편집 작업은 문자 삭제, 문자 추가 또는 문자를 다른 문자로 바꾸는 것으로 정의할 수 있습니다.

따라서 입력이 S ="hello", T ="hallo"와 같으면 이 두 문자열의 편집 거리가 1이므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • m :=S의 크기, n :=T의 크기
  • i :=0, j :=0
  • 카운트:=0
  • 만약 |m - n|> 1, 다음
    • 거짓을 반환
  • i
  • S[i]가 T[j]와 같지 않으면
    • 카운트가 1과 같으면
      • 거짓을 반환
    • m
    • j :=j + 1
  • 그렇지 않으면 m> n일 때
    • 나는 :=나는 + 1
  • 그렇지 않으면
    • i :=i + 1, j :=j + 1
  • 카운트 :=카운트 + 1
  • 그렇지 않으면
    • i :=i + 1, j :=j + 1
  • 참 반환
  • 이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

    예시

    class 솔루션:def solve(self, S, T):m, n =len(S), len(T) i, j =0, 0 count =0 if abs(m - n)> 1:return i  n:i +=1인 경우 False를 반환합니다. 그렇지 않으면:i +=1 j +=1 count +=1 else:i +=1 j +=1 return Trueob =Solution()S ="hello"T ="hallo"print(ob.solve(S, T)) 

    입력

    "안녕하세요", "안녕하세요"

    출력

    사실