在本教程中,我们将在数组中找到分区点,该数组中所有剩余的元素都很小,而所有剩余的元素都很大。
让我们看看解决问题的步骤。
初始化数组。
遍历数组。
从0迭代到I,然后检查每个值是否小于当前值。
从I迭代到n,并检查每个值是否大于当前值。
如果机器人满足条件,则返回该值。
打印分区点。
让我们看一下代码。
#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;
}
输出结果如果执行上述代码,则将得到以下结果。
5