📌  相关文章
📜  国际空间研究组织 | ISRO CS 2020 |问题 26(1)

📅  最后修改于: 2023-12-03 15:23:04.699000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2020 | 问题 26

问题描述

给定一个长度为 n 的非空数组 A,其中元素按照升序排序,找出一个 i,使得:

  1. 0 <= i < n
  2. A[i] == i
函数签名
def find_fixed_point(arr: List[int]) -> int:
    pass
输入
  • 长度为 n 的非空数组arrarr[0] <= arr[1] <= ... <= arr[n-1]
输出
  • 返回一个整数,表示满足条件的i;如果找不到,则返回-1
示例

示例1

arr = [-10, -5, 0, 3, 7]
assert find_fixed_point(arr) == 3

arr = [0, 2, 5, 8, 17]
assert find_fixed_point(arr) == 0

示例2

arr = [-10, -5, 3, 4, 7, 9]
assert find_fixed_point(arr) == -1
提示
  • 1 <= arr.length <= 10^5
  • 对于所有的 0 <= i < arr.length,-10^9 <= arr[i] <= 10^9