ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ค้นหาองค์ประกอบพีคในอาร์เรย์ที่กำหนด
องค์ประกอบสูงสุดเป็นองค์ประกอบที่มากกว่าองค์ประกอบโดยรอบ มาดูขั้นตอนการแก้ปัญหากัน
-
เริ่มต้นอาร์เรย์ด้วยข้อมูลจำลอง
-
ตรวจสอบองค์ประกอบแรกและองค์ประกอบสุดท้ายสำหรับเงื่อนไของค์ประกอบสูงสุด
-
วนซ้ำอาร์เรย์จากองค์ประกอบที่สอง
-
ตรวจสอบว่าองค์ประกอบปัจจุบันมากกว่าองค์ประกอบก่อนหน้าและองค์ประกอบถัดไปหรือไม่
-
ส่งคืนหากตรงตามเงื่อนไขข้างต้น
-
-
พิมพ์ผลลัพธ์
ตัวอย่าง
มาดูโค้ดกันเลย
#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
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น