Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem chuỗi đã cho có thể được chia thành bốn chuỗi khác nhau trong Python hay không

Giả sử chúng ta có một chuỗi s, chúng ta phải kiểm tra xem chúng ta có thể chia nó thành bốn chuỗi con sao cho mỗi chuỗi đều không rỗng và duy nhất hay không.

Vì vậy, nếu đầu vào là s =​​"helloworld", thì đầu ra sẽ là True vì một trong các tập hợp các chuỗi con có thể có là ["hel", "lo", "wor", "ld"]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu kích thước của s> =10, thì
    • trả về True
  • đối với tôi trong phạm vi từ 1 đến kích thước của s-1, hãy thực hiện
    • đối với j trong phạm vi i + 1 đến kích thước của s-1, thực hiện
      • đối với k trong phạm vi j + 1 đến kích thước của s-1, thực hiện
        • sub1:=s [từ chỉ mục 0 đến i - 1]
        • sub2:=s [từ chỉ mục i đến j - i - 1]
        • sub3:=s [từ chỉ mục j đến k - j - 1]
        • sub4:=s [từ chỉ số k đến kích thước của s - k - 1]
        • nếu tất cả sub1 sub2 sub3 và sub4 đều khác biệt, thì
          • trả về True
  • trả về Sai

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

def solve(s):
   if len(s) >= 10:
      return True
   for i in range(1, len(s)):
      for j in range(i + 1, len(s)):
         for k in range(j + 1, len(s)):
            sub1 = s[0:i]
            sub2 = s[i:j - i]
            sub3 = s[j: k - j]
            sub4 = s[k: len(s) - k]
            if sub1 != sub2 and sub1 != sub3 and sub1 != sub4 and sub2 != sub3 and sub2 != sub4 and sub3 != sub4:
               return True
   return False
s = "helloworld"
print (solve(s))

Đầu vào

"helloworld"

Đầu ra

True