在C ++中查找数组中的分区点

在本教程中,我们将在数组中找到分区点,该数组中所有剩余的元素都很小,而所有剩余的元素都很大。

让我们看看解决问题的步骤。

  • 初始化数组。

  • 遍历数组。

    • 从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

结论