面試題 08 03 魔術索引

2021-10-08 17:25:58 字數 1196 閱讀 8485

難度:簡單

題目描述

解題思路

如果不想複雜的話就很簡單嘛

看起來也不太像是二分的樣子啊

public

intfindmagicindex

(int

nums)

public

intfindhelper

(int

nums,

int left,

int right)

int mid = left +

(right-left)/2

;int leftanswer =

findhelper

(nums, left, mid -1)

;//如果左邊找到了,就返回結果

這種好像只能在公升序的時候有用,但是測試用例裡也沒降序的用例,所以能過

//間隔跳躍查詢

public

intfindmagicindex1

(int

nums)

return-1

;}

比如[2, 2, 2, 4, 5]

下標0的地方是2,那麼直接去下標為2的地方找,因為中間不可能有滿足條件的了

面試題 08 03 魔術索引

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

面試題 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 ...