logo

Câu 32.4 trang 66 SBT Tin học 10: Cho trước dãy số

icon_facebook

Bài 32. Ôn tập lập trình Python

Câu 32.4 trang 66 SBT Tin học 10: 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.

Lời giải ngắn nhất

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

if j-i+1 > lenMax:

Indx = i

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])

icon-date
Xuất bản : 13/06/2024 - Cập nhật : 13/06/2024

Câu hỏi thường gặp

Đánh giá độ hữu ích của bài viết

😓 Thất vọng
🙁 Không hữu ích
😐 Bình thường
🙂 Hữu ích
🤩 Rất hữu ích
image ads