Mô tả
Tại khoa chẩn đoán Viện Tim mạch, bác sĩ LINH đang đọc kết quả điện tâm đồ EKG của một bệnh nhân. Dải nhịp tim được ghi lại dưới dạng một dãy số nguyên, mỗi số đại diện cho biên độ của một nhịp đập tại thời điểm đó. Các giá trị dương thể hiện biên độ co bóp lên (sóng R), còn giá trị âm thể hiện biên độ giãn xuống (sóng S). Bác sĩ muốn phân đoạn dải nhịp tim này thành các nhóm liên tiếp cùng dấu để phục vụ chẩn đoán rung nhĩ.
Một nhóm cùng dấu là một dãy con liên tiếp gồm toàn số dương hoặc toàn số âm. Biên độ bằng 0 được xem là khoảng lặng và không thuộc nhóm nào, đồng thời nó cắt đứt mọi nhóm đang xét. Nhiệm vụ của bạn là đếm tổng số nhóm cùng dấu trong dải nhịp tim.
Đầu vào
- Một mảng số nguyên
amplitudes(n phần tử) biểu diễn biên độ các nhịp tim theo thời gian.
Đầu ra
- Trả về một số nguyên không âm là tổng số nhóm cùng dấu trong dải nhịp tim.
Ràng buộc
- 1 ≤ n ≤ 10^5.
- -10^9 ≤ amplitudes[i] ≤ 10^9.
Ví dụ
Ví dụ 1:
- Đầu vào:
[3, 5, -2, -1, 4, -7, -8, -9] - Đầu ra:
4
Giải thích: Bước qua dải nhịp tim và phân đoạn như sau:
- Nhóm 1:
[3, 5]— hai giá trị dương đầu tiên. - Nhóm 2:
[-2, -1]— dấu chuyển sang âm. - Nhóm 3:
[4]— dấu chuyển về dương (chỉ một phần tử vẫn là một nhóm). - Nhóm 4:
[-7, -8, -9]— dấu chuyển sang âm và kéo dài đến hết.
Tổng cộng có 4 nhóm.
Ví dụ 2:
- Đầu vào:
[1, 0, -5, 0, 2, 0] - Đầu ra:
3
Giải thích: Các giá trị 0 là khoảng lặng, không thuộc nhóm nào và cắt đứt mọi nhóm đang xét. Ta có ba nhóm: [1], [-5], và [2].