2057-值相等的最小索引
给你一个下标从 0 开始的整数数组 nums
,返回 nums
中满足 __i mod 10 == nums[i]
__ 的最小下标 i
;如果不存在这样的下标,返回 __-1
__ 。
x mod y
表示 x
除以 y
的 余数 。
示例 1:
**输入:** nums = [0,1,2]
**输出:** 0
**解释:**
i=0: 0 mod 10 = 0 == nums[0].
i=1: 1 mod 10 = 1 == nums[1].
i=2: 2 mod 10 = 2 == nums[2].
所有下标都满足 i mod 10 == nums[i] ,所以返回最小下标 0
示例 2:
**输入:** nums = [4,3,2,1]
**输出:** 2
**解释:**
i=0: 0 mod 10 = 0 != nums[0].
i=1: 1 mod 10 = 1 != nums[1].
i=2: 2 mod 10 = 2 == nums[2].
i=3: 3 mod 10 = 3 != nums[3].
2 唯一一个满足 i mod 10 == nums[i] 的下标
示例 3:
**输入:** nums = [1,2,3,4,5,6,7,8,9,0]
**输出:** -1
**解释:** 不存在满足 i mod 10 == nums[i] 的下标
示例 4:
**输入:** nums = [2,1,3,5,2]
**输出:** 1
**解释:** 1 是唯一一个满足 i mod 10 == nums[i] 的下标
提示:
1 <= nums.length <= 100
0 <= nums[i] <= 9
方法一:顺序遍历数组
思路与算法
我们可以顺序遍历数组 nums 的下标 i,检查 i \bmod 10 = \textit{nums}[i] 是否成立。
如果成立,则该下标即为值相等的最小索引,我们返回该下标作为答案。若遍历完整个数组均未找到符合要求的下标,则返回 -1。
代码
1 | class Solution { |
1 | class Solution: |
复杂度分析
时间复杂度:O(n),其中 n 为 nums 的长度。即为遍历数组寻找符合要求的最小索引的时间复杂度。
空间复杂度:O(1)。
Comments