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.