Cho trước dãy số. Yêu cầu cần tìm ra một dãy con liên tục có độ dài lớn nhất bao gồm các số bằng nhau

32.4. Cho trước dãy số. Yêu cầu cần tìm ra một dãy con liên tục có độ dài lớn nhất bao gồm các số bằng nhau. Ví dụ với dãy: 1, 1, 2, 3, 0, 0, 0, 7, 10, 10, 5, 1, 1, 6 thì cần đưa ra thông báo:

  • Dãy con bằng nhau có độ dài lớn nhất là 0, 0, 0 bắt đầu từ chỉ số 4.
  • Dãy số gốc gồm các số nguyên được nhập trên một dòng từ bàn phím, chương trình cần đưa ra thông báo như trên.


Chương trình có thể viết như sau:

A = [1, 1, 2, 3, 0, 0, 0, 7, 10, 10, 5, 1, 1, 6]

Indx = 0

lenMax = 1

for i in range(len(A)):

      j = i

      while j < len(A) and A[j] == A[i]:

             if j-i+1 > lenMax:

                    Indx = 1

                    lenMax = j-i+1

             j = j + 1

print("Dãy con bằng nhau lớn nhất bắt đầu từ chỉ số: ",Indx, "độ dài", lenMax)

print(A[ Indx: Indx+lenMax ])


Từ khóa tìm kiếm Google: Giải SBT tin học 10 kết nối tri thức, giải sách kết nối tri thức 10 môn tin học, giải tin học 10 sách mới bài 32, bài 32: Ôn tập lập trình Python

Giải những bài tập khác

Bình luận

Giải bài tập những môn khác