Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Kiểm tra phần tử đỉnh (peak) luân phiên trong List

Giới thiệu

Phần tử đỉnh (peak element) là phần tử lớn hơn hoặc bằng cả hai láng giềng. Hàm dưới đây tìm chỉ số của một peak element (không nhất thiết luân phiên, nhưng tìm peak đầu tiên tìm thấy).

Ví dụ minh họa

def find_peak(my_array, array_length):
    if array_length == 1:
        return 0
    if my_array[0] >= my_array[1]:
        return 0
    if my_array[array_length - 1] >= my_array[array_length - 2]:
        return array_length - 1
    for i in range(1, array_length - 1):
        if my_array[i] >= my_array[i - 1] and my_array[i] >= my_array[i + 1]:
            return i

my_list = [1, 3, 20, 4, 1, 0]
list_length = len(my_list)
print("Danh sách:")
print(my_list)
print("Chỉ số peak element:")
print(find_peak(my_list, list_length))

Kết quả đầu ra

Danh sách:
[1, 3, 20, 4, 1, 0]
Chỉ số peak element:
2

Giải thích

  • Kiểm tra trường hợp list length 1.
  • Kiểm tra đầu và cuối mảng.
  • Duyệt từ 1 đến n-2, so sánh với hai bên.
  • Trả về chỉ số đầu tiên thỏa mãn điều kiện peak.