面試題 08.03. 魔術索引
阿新 • • 發佈:2020-07-31
魔術索引。 在陣列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,即陣列中可能包含重複元素的版本
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/magic-index-lcci
思路:
簡單題,遍歷陣列,因為要返回的是最小值,所以遍歷到第一個f[i] == i 的數就是要返回的數了
class Solution { public int findMagicIndex(int[] nums) { int magicInedx = -1; for(int i =0;i < nums.length; i ++){ if(nums[i] == i){ magicInedx = nums[i]; break; } }return magicInedx; } }