【python刷题】LeetCode 2057E 值相等的最小索引(5种简单高效的解法)

  • 作者: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

🌟第三式—

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/4886.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

问答ChatGPT-4:探索未来微数据中心IDC的发展趋势

从去年年底开始到现在&#xff0c;大众对以ChatGPT-4为主的人工智能AI的话题讨论盛况空前。这是一款由OpenAI发布的聊天机器人模型&#xff0c;一经上线&#xff0c;短短5天完成100万用户积累&#xff0c;并在最近实现月活用户破亿。实际上&#xff0c;ChatGPT和智能客服、智能…

CN RedGolf 集团利用 KEYPLUG 后门攻击 Windows 和 Linux 系统

被追踪为 RedGolf 的 CN 国家支持的威胁活动组织被归因于使用名为 KEYPLUG 的自定义 Windows 和 Linux 后门。 Recorded Future 告诉 The Hacker News&#xff1a;“RedGolf 是一个特别多产的CN国家支持的威胁组织&#xff0c;可能多年来一直活跃于全球范围内的广泛行业。” …

HandlerInterceptor拦截器的原理

是什么 HandlerInterceptor拦截的是请求&#xff0c;是springMVC项目中的拦截器&#xff0c;它拦截的目标是请求的地址。也就是说&#xff0c;它可以对请求进行拦截处理&#xff0c;所有实现了HandlerInterceptor&#xff0c;并且进行了配置的的类&#xff0c;都有这个能力&am…

第四章 共享模型之 管程 (下)

JUC并发编程系列文章 http://t.csdn.cn/UgzQi 文章目录JUC并发编程系列文章前言七、wait -- notify1、为什么使用 wait2、 wait -- notify 原理3、API 介绍八、wait -- notify 的正确姿势示例一&#xff1a;sleep会拿着锁睡觉&#xff0c;阻碍其它线程执行示例二&#xff1a;wa…

Eyeshot 2023 重大变化--2023版本将被Crack

Eyeshot 2023是一个基于 Microsoft .NET Framework 的 CAD 控件。它允许开发人员快速将 CAD 功能添加到 WinForms 和 WPF 应用程序。Eyeshot 提供了从头开始构建几何体、使用有限元方法对其进行分析并在其上生成刀具路径的工具。还可以使用 CAD 交换文件格式导入或导出几何图形…

操作系统页表

虚拟内存 虚拟地址到物理地址的映射以实现隔离性 每个程序有独立的地址空间&#xff0c;不相互影响 页表 地址操作简单流程 CPU向虚拟地址va加载或写入数据–>CPU将va交给内存管理单元MMU–>SATP寄存器存放着内存中存放虚拟地址到物理地址的表单–>MMU通过SATP查找…

03_C++函数

函数的分文件编写1.1头文件-函数声明//swap.h文件 #include<iostream> using namespace std;void swap(int a, int b);1.2源文件-函数定义在源文件中&#xff0c;要加上头文件引用#include "swap.h"//swap.cpp文件 #include "swap.h"void swap(int a…

最少砝码(思维+找规律)

最少砝码 前n个可以表示0~k; 第n1个为x&#xff08;x>k&#xff09;; 最大可测maxnkx; 第n1个和前n个放两边 可测得x-k&#xff1b; 让x-kk1&#xff0c;得到x2k1&#xff1b; maxn3k1&#xff1b; k1 可以用(2k1) - (k-0) 表示 k2 可以用(2k1) - (k-1) 表示 … 2k1 可以用…

Compose 动画 (八) : Compose中的动画差值器 AnimationSpec

1. AnimationSpec是什么 Android Compose中的AnimationSpec用来自定义动画规格。 啥意思呢&#xff0c;其实就是类似于传统View体系中的差值器Interpolator&#xff0c;但是比起差值器&#xff0c;又提供了更多的功能。 根据其不同的子类&#xff0c;可以来控制动画执行时长、…

运维1.12了解集中式日志管理工具 ELK 的基本用法,包括数据采集、搜索和展示

ELK 是一个由三个开源项目组成的日志管理工具&#xff0c;它们分别是 Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个基于 Lucene 的搜索引擎&#xff0c;它可以提供实时的分布式搜索和分析能力&#xff1b;Logstash 是一个日志收集和处理工具&#xff0c;可以实现多…

《白帽子讲Web安全》世界观安全

1.Web安全简史1.1中国黑客简史对于现代计算机系统来说&#xff0c;在用户态的最高权限是root&#xff0c;也是黑客们最渴望能够获取的系统最高权限。不想拿到“root”的黑客&#xff0c;不是好黑客。在现实世界中&#xff0c;真正造成破坏的&#xff0c;往往并非那些挖掘并研究…

10秒去除WPS Office弹窗广告教程(2023.3.31最新)

目录 前言 步骤 1. 右击WPS Office&#xff0c;打开文件所在目录 2. 打开第二个文件夹 3. 进入office 6文件夹 4. 找到文件ksomisc.exe 5. 右击选择以管理员身份运行 6. 打开后是下面的界面&#xff0c;点击“高级(A)...” 7. 按照下图操作 8. 最后点击退出就设置完…

Mybatis配置之属性优化理解【transactionManager、dataSource、properties】

文章目录一.Mybatis配置之属性优化1.1 配置解析1.2 默认配置环境1.2.1 事务管理器&#xff08;transactionManager&#xff09;了解即可。1.2.2 数据源&#xff08;dataSource&#xff09;1.3 属性&#xff08;properties&#xff09;一.Mybatis配置之属性优化 1.1 配置解析 …

PyTorch 深度学习实战 |用 TensorFlow 训练神经网络

为了更好地理解神经网络如何解决现实世界中的问题&#xff0c;同时也为了熟悉 TensorFlow 的 API&#xff0c;本篇我们将会做一个有关如何训练神经网络的练习&#xff0c;并以此为例&#xff0c;训练一个类似的神经网络。我们即将看到的神经网络&#xff0c;是一个预训练好的用…

达梦回滚表空间的空间占用和释放

我们知道DML和DDL的区别之一是DML&#xff08;INSERT、UPDATE、DELETE&#xff09;操作数据库会产生重做日志和回滚日志&#xff0c;DDL不会产生重做日志和回滚日志&#xff0c;本章从系统表和动态视图上来分析达梦数据库DML和DDL对回滚表空间的占用&#xff0c;以及达梦回滚表…

C++11:可变参数模板/lambda表达式

1.可变参数模板 C11的新特性可变参数模板能够让我们创建可以接受可变参数的函数模板和类模板&#xff0c;相比C98和C03&#xff0c;类模板和函数模板中只能含固定数量的模板参数&#xff0c;可变参数模板无疑是一个巨大的改进。可是可变参数模板比较抽象&#xff0c;因此这里只…

vue路由守卫死循环及路由守卫使用

当前业务要求&#xff1a; 通过判断本地sessionstorge判断当前是否需要登陆页面 问题场景&#xff1a;用户登陆进入页面内部&#xff0c;点击退出登录&#xff0c;清除本地用户信息&#xff0c;页面跳转至登陆页面&#xff0c;使用浏览器的回退可以正常返回至项目内部。需要改…

kettle开发篇-更新-Day38

目录 前言&#xff1a; 一、更新组件介绍 1.1界面 1.2废话介绍 1.3重点解释 二、应用案例 2.1转换效果 2.2转换简介 三、总结 前言&#xff1a; 前面我们通过oracle的索引来处理单表超1亿的数据量表的查询问题&#xff0c;通过针对主键&#xff0c;展示的维度做多套索引…

如何使用码匠连接 GaussDB

目录 在码匠中集成 GaussDB 在码匠中使用 GaussDB 关于码匠 GaussDB 是华为推出的一个高性能、高可靠、高安全的分布式数据库管理系统。它采用多活架构&#xff0c;支持全球数据同步&#xff0c;可实现数据的实时同步和容灾备份&#xff0c;可满足不同业务场景下的数据管理…

《钢琴调律原理及应用》 笔记

【第一章 绪论】第一节 钢琴调律的概念 美国人威廉布雷德怀特于 1917 年发表了世界上第一部关于钢琴调律理论与技术的著作&#xff0c;书名为《钢琴调律与相关技术》 福岛琢郎于1950年发表一部名为《钢琴的构造调律修理》的专著 80年代初&#xff0c;在沈阳音院任教的张琨先生…