Là chức năng subsequence trong Python?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu một vấn đề rất thú vị được gọi là In tất cả các dãy con/tập hợp con có thể có của một chuỗi cụ thể

Giải thích khái niệm

Đối với mọi phần tử trong chuỗi đã cho, có hai cách chọn

  • Đưa phần tử đầu tiên vào dãy con và tìm dãy con của các phần tử còn lại
  • Hoặc không tính phần tử đầu và tìm dãy con các phần tử còn lại

Điều tương tự cũng được áp dụng ở mỗi và mọi lệnh gọi đệ quy cho đến khi chúng ta đạt được chỉ mục cuối cùng của mảng đã cho

Trong trường hợp đó, ta chỉ cần in dãy con đã tạo rồi quay lại tìm dãy con tiếp theo. Nếu bạn muốn biết thêm về đệ quy, hãy đọc hướng dẫn được đề cập bên dưới

Đây là bài toán yêu cầu chúng ta tạo một hàm kiểm tra xem một dãy số có phải là dãy con của một mảng đã cho hay không

Dãy con của mảng là tập hợp các số nguyên không nhất thiết phải liền kề trong mảng đã cho nhưng theo thứ tự xuất hiện trong mảng

Ví dụ: cho một mảng [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], một dãy con hợp lệ sẽ là [2,4,6,8,10]. Các số không trực tiếp cạnh nhau, nhưng chúng có cùng thứ tự như khi các số nguyên này nằm trong mảng ban đầu

Một điều cần lưu ý là một số duy nhất trong một mảng và chính mảng đó đều là các dãy con hợp lệ của một đầu vào mảng đã cho

Với thông tin đó, chúng ta hãy bắt đầu phân tích và giải quyết vấn đề

lời nhắc

Cho hai mảng số nguyên khác nhau, hãy viết hàm xác định xem mảng thứ hai có phải là dãy con của mảng thứ nhất không

Mật mã

Hãy bắt đầu bằng cách khởi tạo hàm với các tham số chính xác, một mảng và một dãy số

Giải pháp

def isSubSequence[str1, str2]:
    len_str1 = len[str1]
    len_str2 = len[str2]
    index_str1 = 0  
    index_str2 = 0  
    # Traverse both str1 and str2
    while index_str1 < len_str1 and index_str2 < len_str2:
        # Compare current character of str2 with str1
        if str1[index_str1] == str2[index_str2]:
            # If matched, then move to next character in str1
            index_str1 = index_str1 + 1
        index_str2 = index_str2 + 1
    return index_str1 == len_str1


val_1 = 'abc'
val_2 = 'ahbgdc'
print[isSubSequence[val_1, val_2]]

đầu ra

________số 8_______

Giải thích mã

  • True
    9 và str10 lần lượt lưu trữ độ dài của str1str2
  • True
    1 và str14 được sử dụng để lưu trữ các chỉ số của mỗi ký tự của str1str2 tương ứng
  • Vòng lặp str17 được sử dụng để duyệt qua các chuỗi cho đến khi tìm thấy kết quả khớp hoặc tất cả các chỉ số của str2 đã được duyệt trong trường hợp không khớp
    • str18 so sánh ký tự hiện tại của str1str2
      • Trong trường hợp tìm thấy sự trùng khớp, chỉ số của ký tự tiếp theo trong str1 sẽ được tính đến
    • Giá trị của
      True
      1 được tăng lên sau mỗi lần lặp để duyệt qua tất cả các chữ cái có sẵn trong str1 cho đến khi tìm thấy dãy con
  • Cuối cùng, nếu dãy con được tìm thấy thì giá trị được lưu bởi
    True
    1 sẽ bằng độ dài của str1

chạy khô

Bảng sau đây minh họa hoạt động ở mỗi lần lặp trong vòng lặp while cho đến khi tìm thấy kết quả phù hợp

?

Làm cách nào để kiểm tra xem một chuỗi có phải là chuỗi con của chuỗi khác không?


Xem video này trên YouTube

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Một dãy con trong Python là gì?

Một dãy con là một dãy có thể được suy ra từ một dãy khác bằng cách xóa một số phần tử mà không thay đổi thứ tự của các phần tử còn lại . con trăn. chuỗi. thuật toán.

Chuỗi con của một mảng trong Python là gì?

Dãy con của một mảng là tập hợp các số nguyên không nhất thiết phải liền kề trong mảng đã cho nhưng theo cùng thứ tự xuất hiện trong mảng. For example, given an array [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], a valid subsequence would be [2,4,6,8,10].

Chuỗi con có giống chuỗi con không?

Phương thức SubSequence[] hoạt động theo cách tương tự như substring[] . Sự khác biệt duy nhất là nó trả về CharSequence thay vì Chuỗi.

một ví dụ về dãy con là gì?

Dãy con là tập con có thứ tự vô hạn của dãy. [a 2 , a 4 , a6 , .. ] is a subsequence of [a 1 , a 2 , a< . ]3 , a4 , .. ] . Vậy là [a1 , a10 , a100 , a1000 ,. ].

Chủ Đề