Trong hướng dẫn này, chúng ta sẽ tìm điểm phân vùng trong một mảng mà tất cả các phần tử còn lại điểm phân vùng là nhỏ và tất cả các phần tử bên phải điểm phân vùng đều lớn.
Hãy xem các bước để giải quyết vấn đề.
-
Khởi tạo mảng.
-
Lặp lại trên mảng.
-
Lặp lại từ 0 đến I và kiểm tra từng giá trị xem nó có nhỏ hơn giá trị hiện tại hay không.
-
Lặp lại từ I đến n và kiểm tra từng giá trị xem nó có lớn hơn giá trị hiện tại hay không.
-
Nếu bot thỏa mãn các điều kiện, thì trả về giá trị.
-
-
In điểm phân vùng.
Ví dụ
Hãy xem mã.
#include <bits/stdc++.h> using namespace std; int findPartitionElement(int arr[], int n) { for (int i = 0; i < n; i++) { int is_found = true; for (int j = 0; j < i; j++) { if (arr[j] >= arr[i]) { is_found = false; break; } } for (int j = i + 1; j < n; j++) { if (arr[j] <= arr[i]) { is_found = false; break; } } if (is_found) { return arr[i]; } } return -1; } int main() { int arr[] = { 4, 3, 5, 6, 7 }; cout << findPartitionElement(arr, 5) << endl; return 0; }
Đầu ra
Nếu bạn thực thi đoạn mã trên, bạn sẽ nhận được kết quả sau.
5
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.