Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาองค์ประกอบพีคใน C++


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ค้นหาองค์ประกอบพีคในอาร์เรย์ที่กำหนด

องค์ประกอบสูงสุดเป็นองค์ประกอบที่มากกว่าองค์ประกอบโดยรอบ มาดูขั้นตอนการแก้ปัญหากัน

  • เริ่มต้นอาร์เรย์ด้วยข้อมูลจำลอง

  • ตรวจสอบองค์ประกอบแรกและองค์ประกอบสุดท้ายสำหรับเงื่อนไของค์ประกอบสูงสุด

  • วนซ้ำอาร์เรย์จากองค์ประกอบที่สอง

    • ตรวจสอบว่าองค์ประกอบปัจจุบันมากกว่าองค์ประกอบก่อนหน้าและองค์ประกอบถัดไปหรือไม่

    • ส่งคืนหากตรงตามเงื่อนไขข้างต้น

  • พิมพ์ผลลัพธ์

ตัวอย่าง

มาดูโค้ดกันเลย

#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;
}

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

7

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น