Đề cho vd:
-
a[] ={1,2,3}
có 1 mảng con tăng dần -
a[] ={5,3,7,2}
có 3 mảng con tăng dần
Bài này thì tại sao đếm được vậy ạ?
Mấy anh chị giải đáp giúp với ạ
Đề cho vd:
a[] ={1,2,3}
có 1 mảng con tăng dầna[] ={5,3,7,2}
có 3 mảng con tăng dầnBài này thì tại sao đếm được vậy ạ?
Mấy anh chị giải đáp giúp với ạ
Khoan hãy nghĩ tới cách viết code đếm ra sao.
Giờ nếu bạn gặp dãy số {5,3,7,2}
thi chính bạn sẽ đếm như thế nào?
Cái này gọi là “runs” rồi
Chứ VD1 ra 6 mới đúng.
5 là 1 mảng, 3 7 là 1 mảng, 2 là 1 mảng suy ra có 3 mảng tăng dần phải không bạn?
Đề này GV cho nên mình mới thấy thắc mắc đưa lên đây nhờ các anh chị xem hộ ạ!
Đúng rồi.
Vậy bạn nhìn vào đâu để biết tách “5” và “3, 7” thành 2 mảng riêng biệt vậy bạn?
Đáp án là cho cnt=1 for chạy từ đầu mảng nếu gặp a[i] >a[i+1] thì cnt++. Nên nó ra 3 mảng. Nhưng mà mình nghĩ mảng con 5 và mảng con 2 chỉ có 1 phần tử thì phải là mảng không đổi chứ nhỉ!
Vừa là không đổi vừa là mảng tăng
Vậy mảng ở vd1 phải ra nhiều hơn 1 mảng con chứ nhỉ
À, ra là bạn chỉ muốn bắt bẻ câu chữ trong đề không rõ ràng, nếu vậy thì bạn hãy đếm sao cho giống comment #3 bên trên của bạn @rogp10 để đếm được mảng 1 2 3
là ra 6 đi nhé
Vậy là vd1 ra 1 mảng con còn vd 2 ra 3 mảng con là đúng rồi phải không bạn? Đề không có vấn đề gì nhỉ!