Chúng tôi sẽ phát triển một chương trình C ++ để tìm tổng thời gian tối đa của mảng con là O (n ^ 2) (phương pháp ngây thơ).
Thuật toán
Begin Lấy các phần tử của mảng làm đầu vào. Tạo một vòng lặp cho độ dài của mảng con từ 1 đến n, trong vòng lặp này, Tạo một vòng lặp khác lồng với mảng trước đó, tính tổng của mảng con đầu tiên có độ dài đó. Đối với tổng mảng con còn lại, hãy cộng phần tử tiếp theo vào tổng và trừ phần tử đầu tiên của mảng con đó. So sánh nó với mức tối đa toàn cầu và cập nhật nếu phát hiện ra là nhiều hơn. In ra mảng con tối đa và kết quả là tổng của chúng.Mã mẫu
#includeusing namespace std; int main () {int n, i, j, m =-1, s, ini_m, fi_m; cout <<"\ nNhập số phần tử dữ liệu vào mảng:"; cin>> n; int a [n]; for (i =0; i > a [i]; } for (i =1; i Đầu ra
Nhập số phần tử dữ liệu trong mảng:10Nhập phần tử 1:1Nhập phần tử 2:-2Nhập phần tử 3:3Nhập phần tử 4:-4Nhập phần tử 5:5Nhập phần tử 6:-6Nhập phần tử 7:7Nhập phần tử 8:8Nhập phần tử 9:-9Nhập phần tử 10:10Mảng con tối đa là:7 8 -9 10Tổng mảng con tối đa là:16