Khi cần đếm số lượng "đỉnh" (peak) hoặc "đáy" (valley) trong danh sách (phần tử lớn hơn cả hai hàng xóm hoặc nhỏ hơn cả hai), ta dùng vòng lặp và điều kiện so sánh.
Ví dụ
my_list = [11, 12, 24, 12, 36, 17, 28, 63]
print("Danh sách ban đầu:")
print(my_list)
my_result = 0
for index in range(1, len(my_list) - 1):
if my_list[index + 1] > my_list[index] < my_list[index - 1] or my_list[index + 1] < my_list[index] > my_list[index - 1]:
my_result += 1
print("Kết quả:")
print(my_result)
Kết quả
Danh sách ban đầu: [11, 12, 24, 12, 36, 17, 28, 63] Kết quả: 4
Giải thích
Định nghĩa danh sách và hiển thị.
Khởi tạo bộ đếm = 0.
Duyệt từ index 1 đến n-2 (bỏ qua đầu và cuối).
Kiểm tra: (phần tử trước > hiện tại < phần tử sau) HOẶC (phần tử trước < hiện tại > phần tử sau).
Nếu thỏa mãn, tăng bộ đếm.
In tổng số đỉnh/đáy.