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

Triển khai Python thú vị cho Next Greater Elements (Phần tử lớn hơn tiếp theo)

Trong bài viết này, chúng ta sẽ tìm hiểu về định nghĩa và hàm do người dùng định nghĩa để dự đoán phần tử lớn hơn tiếp theo.

Đề bài

Chúng ta được cho một mảng & cần in Next Greater Element cho mọi phần tử có mặt trong mảng. Next Greater Element cho một phần tử tùy ý y là phần tử lớn nhất đầu tiên có mặt ở phía bên phải của x trong mảng. Các phần tử không có phần tử lớn hơn, trả về -1 làm đầu ra.

Test case đầu vào

[12, 1, 2, 3]

Kết quả

12 -> -1
1 -> 3
2 -> 3
3 -> -1

Bây giờ hãy quan sát mã nguồn.

Ví dụ

# Định nghĩa hàm
def elevalue(arr):
    # Lặp
    for i in range(0, len(arr)):
        # Cắt và lấy max
        final = max(arr[i:])
        # Kiểm tra lớn nhất
        if (arr[i] == final):
            print("%d -> %d" % (arr[i], -1))
        else:
            print("%d -> %d" % (arr[i], final))

# Chương trình driver
def main():
    arr = [12, 1, 2, 3]
    elevalue(arr)
    arr = [1, 34, 2, 1]
    elevalue(arr)

if __name__ == '__main__':
    main()

Kết quả

12 -> -1
1 -> 3
2 -> 3
3 -> -1
1 -> 34
34 -> -1
2 -> -1
1 -> -1

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về triển khai Python thú vị cho Next Greater Elements bằng cách sử dụng hàm do người dùng định nghĩa.