用 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

结论

如果你对本教程有任何疑问,可以在评论区提出。

更新于: 01-2 月-2021

363 views

职业生涯起飞

完成本课程即可获得认证

开始
广告