0
0
Viết chương trình Python tìm đoạn con có các số hạng dương liên tiếp có tổng lớn nhất. (Nếu có nhiều đoạn con thoả mãn thì đưa ra màn hình: Số đoạn con thoả mãn và các đoạn con đó).
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
246
124
ĐÁP ÁN
def find_max_subarray(arr):
max_sum = float('-inf')
max_subarrays = []
current_sum = 0
current_subarray = []
for num in arr:
if num > 0:
current_sum += num
current_subarray.append(num)
else:
if current_sum > max_sum:
max_sum = current_sum
max_subarrays = [current_subarray]
elif current_sum == max_sum:
max_subarrays.append(current_subarray)
current_sum = 0
current_subarray = []
if current_sum > max_sum:
max_sum = current_sum
max_subarrays = [current_subarray]
elif current_sum == max_sum:
max_subarrays.append(current_subarray)
return max_sum, max_subarrays
# Nhập mảng từ người dùng
arr = list(map(int, input("Nhập mảng các số nguyên, cách nhau bằng dấu cách: ").split()))
# Tìm đoạn con có tổng lớn nhất max_sum, max_subarrays = find_max_subarray(arr)
# In kết quả
print("Tổng lớn nhất của đoạn con có các số hạng dương liên tiếp là:", max_sum)
print("Số đoạn con thoả mãn:", len(max_subarrays))
print("Các đoạn con đó là:")
for subarray in max_subarrays:
print(subarray)
-------
#TranDuyManhTHCSLocThai
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
246
2599
124
Tui hong có sử dụng chat GPT Hỏi cho đã vô rồi người ta trả lời lại không tin?
246
2599
124
Hoangduy67: có học thức mà ăn với chả nói!
970
6538
532
TranDuyManhTHCSLocThai: Cho mình xin lỗi nếu mình có nói gì sai
970
6538
532
Do thấy bài của bạn giống ChatGPT quá thôi
546
4748
252
Bạn có gì chắc bạn không dùng
970
6538
532
Mình đã rồi mà xài ChatGPT cũng đâu có sao
546
4748
252
bị ban acc
970
6538
532
???