Phần tử đỉnh trong ma trận 2D là phần tử lớn hơn **tất cả 4 láng giềng** (trên, dưới, trái, phãi). Các góc và biên có ít láng giềng hơn.
Phương pháp: Duyệt toàn bộ ma trận, kiểm tra từng vị trí theo trường hợp
- 4 góc: so sánh 2 láng giềng.
- Biên (không góc): so sánh 3 láng giềng.
- Giữa: so sánh 4 láng giềng.
- Trả về peak đầu tiên tìm thấy.
Ví dụ mã nguồn
#include <bits/stdc++.h>
using namespace std;
const int MAX = 256;
int findPeak2D(int arr[][MAX], int rows, int cols) {
for (int i=0;i0 && arr[i][j] <= arr[i-1][j]) isPeak = false;
if (i0 && arr[i][j] <= arr[i][j-1]) isPeak = false;
if (j
Kết quả
7
Phần tử 7 tại (2,2) lớn hơn 3,4,6,6. Phức tạp O(rows×cols).