# LeetCode 1064. Fixed Point

## Description

https://leetcode.com/problems/fixed-point/

Given an array of distinct integers `arr`, where `arr` is sorted in ascending order, return the smallest index `i` that satisfies `arr[i] == i`. If there is no such index, return `-1`.

Example 1:

```Input: arr = [-10,-5,0,3,7]
Output: 3
Explanation: For the given array, `arr = -10, arr = -5, arr = 0, arr = 3`, thus the output is 3.```

Example 2:

```Input: arr = [0,2,5,8,17]
Output: 0
Explanation: `arr = 0`, thus the output is 0.```

Example 3:

```Input: arr = [-10,-5,3,4,7,9]
Output: -1
Explanation: There is no such `i` that `arr[i] == i`, thus the output is -1.```

Constraints:

• `1 <= arr.length < 104`
• `-109 <= arr[i] <= 109`

Follow up: The `O(n)` solution is very straightforward. Can we do better?

## Explanation

Just check if the element’s value equals to its index.

## Python Solution

``````class Solution:
def fixedPoint(self, arr: List[int]) -> int:

for i, num in enumerate(arr):
if num == i:
return i

return -1``````
• Time Complexity: O(N).
• Space Complexity: O(1).