- 作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。
- 荣誉:
阿里云博客专家认证
、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。跨领域学习
,喜欢摄影、弹吉他、咏春拳。文章深入浅出、语言风趣
;爱吃必胜客社区创立者,旨在“发现美 欣赏美
- 🏆 学习系列专栏
。🏅 Python学习宝库
。🏅 网络安全学习宝库
文章目录
- ⭐️题目
- 🌟题目分析
- 🌟 第一式---常用让for循环暴露序号
- 🌟 第二式---把list变成带序号的enumerate()类型
- 🌟第三式---
⭐️题目
给你一个下标从 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
通过次数11,783提交次数15,567
🌟题目分析
简单的题目暴露不简单的思考。
我们要细细品味其中的味道,一题多解。
体会python语言的灵活与各种用法~
灵活穿插,自如享受~
🌟 第一式—常用让for循环暴露序号
class Solution:
def smallestEqual(self, nums: List[int]) -> int:
for i in range(len(nums)):
if i%10==nums[i%10]:
return i
return -1
🌟 第二式—把list变成带序号的enumerate()类型
class enumerate(Iterator[Tuple[int, _T]], Generic[_T]):
class Solution:
def smallestEqual(self, nums: List[int]) -> int:
for i,v in enumerate(nums):
if i%10==nums[i]:
return i
return -1