# 1064 Fixed Point (有圖)

input 有順序而且又是找東西,很有可能就是考 Binary Search

LeetCode

Given an array A of distinct integers sorted in ascending order, 
return the smallest index i that satisfies A[i] == i.  
Return -1 if no such i exists.
給一個裡面都包含不同數字的陣列 A,排序已經由小到大排好了。請找出符合 A[i] = i 的值
Example 1:

Input: [-10,-5,0,3,7]
Output: 3
Explanation: 
For the given array, A[0] = -10, A[1] = -5, A[2] = 0, A[3] = 3, thus the output is 3.
Example 2:

Input: [0,2,5,8,17]
Output: 0
Explanation: 
A[0] = 0, thus the output is 0.
Example 3:

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

/**
 * @param {number[]} A
 * @return {number}
 */
var fixedPoint = function(A) {
    
};

Edge Case

  • 可能會有兩種以上答案,例如這種 [-10, -5, -2, 0, 4, 5, 6, 7, 8, 9, 10],題目說選最小的為 output

哪種資料結構解

有順序姓而且明顯是在搜尋,所以會用 Array,而且 input 有順序而且又是找東西,所以會用 Binary Search

怎麼解

這題比較特別的是有可能會有一種以上答案,所以會先定義 minIndex 存最小的值。

其他部分單純用 Binary Search 解

Last updated

Was this helpful?