Cho mảng, tìm chỉ số i sao cho arr[i] == i. Trả về i đầu tiên tìm thấy hoặc -1. Ví dụ: {10,20,30,40,50,5,60} → arr[5]=5 → trả về 5.
Phương pháp: Duyệt tuyến tính
- Duyệt i từ 0 đến n-1, nếu arr[i] == i → trả về i.
Ví dụ mã nguồn
#include <bits/stdc++.h>
using namespace std;
int fixedPoint(int arr[], int n) {
for (int i=0;i
Kết quả
5
Nếu mảng đã sắp xếp, có thể dùng binary search O(log n).