程序员面试金典 - 面试题 08.03. 魔术索引(二分递归)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 08.03. 魔术索引(二分递归)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
魔術(shù)索引。 在數(shù)組A[0…n-1]中,有所謂的魔術(shù)索引,滿足條件A[i] = i。
給定一個(gè)有序整數(shù)數(shù)組,編寫一種方法找出魔術(shù)索引,若有的話,在數(shù)組A中找出一個(gè)魔術(shù)索引,如果沒有,則返回-1。
若有多個(gè)魔術(shù)索引,返回索引值最小的一個(gè)。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/magic-index-lcci
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 二分法,如果找到中點(diǎn)滿足,還需在左半部分繼續(xù)找
- 中點(diǎn)不滿足,兩側(cè)查找
- 當(dāng)找到了一個(gè)idx以后,區(qū)間的端點(diǎn)需要小于idx,才繼續(xù)找
- 下面的解法也很新鮮
總結(jié)
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 08.03. 魔术索引(二分递归)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 01.09.
- 下一篇: 聚类方法(Clustering)