You've successfully subscribed to The Daily Awesome
Great! Next, complete checkout for full access to The Daily Awesome
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

5008. 不动点 - Fixed Point

. 1 min read

【数组】

给定已经按升序排列、由不同整数组成的数组 A,返回满足 A[i] == i 的最小索引 i。如果不存在这样的 i,返回 -1

Example:

示例 1:

输入:[-10,-5,0,3,7]
输出:3
解释:
对于给定的数组,A[0] = -10,A[1] = -5,A[2] = 0,A[3] = 3,因此输出为 3 。

示例 2:

输入:[0,2,5,8,17]
输出:0
示例:
A[0] = 0,因此输出为 0 。

示例 3:

输入:[-10,-5,3,4,7,9]
输出:-1
解释: 
不存在这样的 i 满足 A[i] = i,因此输出为 -1 。

提示:

  1. 1 <= A.length < 10^4
  2. -10^9 <= A[i] <= 10^9

Analysis

emmm这还要说啥,看看大佬速度叭

Solution 【考点标签】 ( ms)

执行用时 : 1 ms, 在Fixed Point的Java提交中击败了100.00% 的用户

内存消耗 : 41 MB, 在Fixed Point的Java提交中击败了100.00% 的用户

class Solution {
    public int fixedPoint(int[] A) {
        for (int i = 0, len = A.length; i < len; i++) {
            if (A[i] == i) {
                return i;
            }
        }
        return -1;
        
    }
}

复杂度分析

时间:$O(N)$

空间:$O(1)$