面試題 08 03 魔術索引

2022-07-19 08:24:13 字數 508 閱讀 2780

魔術索引。 在陣列a[0...n-1]中,有所謂的魔術索引,滿足條件a[i] = i。給定乙個有序整數陣列,編寫一種方法找出魔術索引,若有的話,在陣列a中找出乙個魔術索引,如果沒有,則返回-1。若有多個魔術索引,返回索引值最小的乙個。

示例1:

輸入:nums = [0, 2, 3, 4, 5

]輸出:

0說明: 0下標的元素為0

示例2:

輸入:nums = [1, 1, 1

]輸出:

1說明:

nums長度在[

1, 1000000

]之間此題為原書中的 follow-up,即陣列中可能包含重複元素的版本

思路:簡單題,遍歷陣列,因為要返回的是最小值,所以遍歷到第乙個f[i] == i  的數就是要返回的數了

class

solution

}return

magicinedx;

}}

面試題 08 03 魔術索引

難度 簡單 題目描述 解題思路 如果不想複雜的話就很簡單嘛 看起來也不太像是二分的樣子啊 public intfindmagicindex int nums public intfindhelper int nums,int left,int right int mid left right lef...

面試題 08 03 魔術索引

魔術索引。在陣列a 0.n 1 中,有所謂的魔術索引,滿足條件a i i。給定乙個有序整數陣列,編寫一種方法找出魔術索引,若有的話,在陣列a中找出乙個魔術索引,如果沒有,則返回 1。若有多個魔術索引,返回索引值最小的乙個。示例1 輸入 nums 0,2,3,4,5 輸出 0 說明 0下標的元素為0 ...

力扣刷題筆記 面試題 08 03 魔術索引 C

7 月 31 日簽到題,題目如下 魔術索引。在陣列a 0.n 1 中,有所謂的魔術索引,滿足條件a i i。給定乙個有序整數陣列,編寫一種方法找出魔術索引,若有的話,在陣列a中找出乙個魔術索引,如果沒有,則返回 1。若有多個魔術索引,返回索引值最小的乙個。示例1 輸入 nums 0,2,3,4,5 ...