Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm phần tử đỉnh trong mảng đã cho
Phần tử đỉnh là phần tử lớn hơn các phần tử xung quanh. Hãy xem các bước để giải quyết vấn đề.
-
Khởi tạo mảng với dữ liệu giả.
-
Kiểm tra phần tử đầu tiên và phần tử cuối cùng để biết điều kiện phần tử đỉnh.
-
Lặp lại mảng từ phần tử thứ hai.
-
Kiểm tra xem phần tử hiện tại có lớn hơn phần tử trước đó và phần tử tiếp theo hay không.
-
Trả lại nếu điều kiện trên thỏa mãn.
-
-
In kết quả
Ví dụ
Hãy xem mã.
#include <bits/stdc++.h> using namespace std; int findPeakElement(int arr[], int n) { if (n == 1) { return arr[0]; } if (arr[0] >= arr[1]) { return arr[0]; } if (arr[n - 1] >= arr[n - 2]) { return arr[n - 1]; } for (int i = 1; i < n - 1; i++) { if (arr[i] >= arr[i - 1] && arr[i] >= arr[i + 1]) { return arr[i]; } } return arr[0]; } int main() { int arr[] = { 1, 2, 5, 4, 7 }; cout << findPeakElement(arr, 5) << endl; return 0; }
Đầu ra
Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.
7
Kết luận
Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.