leetcode3175. 找到连续赢 K 场比赛的第一位玩家,方向和细节不对,努力白费

ops/2024/10/24 20:45:44/

leetcode3175. 找到连续赢 K 场比赛的第一位玩家

最开始思路

看到题目的示例,只要比较数组的前2位,就好了,但是要一直变化这个数组的值的位置

被题目的示例误导了

没有细品题意,折腾半天,原来就是不断更新最大值,及重新计数

java">public int findWinningPlayer(int[] skills, int k) {int maxI = 0;int win = 0;int len = skills.length;for (int i = 1; i < len && win < k; i++) {// 打擂台,发现新的最大值,且清零获胜回合if (skills[i] > skills[maxI]) {maxI = i;win = 0;}// 获胜回合 +1win++;}// 如果 k 很大,那么 maxI 就是 skills 最大值的下标,毕竟最大值会一直赢下去return maxI;}

python的时候,仿造java的思路,也遇到坑

错误

python">from typing import Listdef findWinningPlayer(self, skills: List[int], k: int) -> int:maxInt = 0win = 0len = len(skills)for i in range(1, len):if skills[i] > skills[maxInt]:maxInt = iwin = 0win += 1else:win += 1if win >= k:return maxIntreturn 0

正确

python">def findWinningPlayer(self, skills: List[int], k: int) -> int:max_i = win = 0for i in range(1, len(skills)):# 打擂台,发现新的最大值if skills[i] > skills[max_i]: max_i = iwin = 0# 获胜回合 +1win += 1# 连续赢下 k 场比赛if win == k: break# 如果 k 很大,那么 max_i 就是 skills 最大值的下标,毕竟最大值会一直赢下去return max_i

总结

“leetcode3175. 找到连续赢 K 场比赛的第一位玩家”错就错在,我加1个else,

再深入一点认识,就是没看到“第一位连续

再深入一些,自己的警觉性不够,对细节的把控,还要加强,及识别出关键信息的能力要加强

同时,做任何事情,磨刀不误砍柴工,都要确保大方向正确的前提下,再去操刀做事,粗中有细,才能无往不利!


http://www.ppmy.cn/ops/128147.html

相关文章

QExcel 保存数据 (QtXlsxWriter库 编译)

QtXlsxWriter 是一个用于在 Qt 应用程序中创建和操作 Excel XLSX 文件的库。它提供了一个简单的 API&#xff0c;使开发者能够轻松地生成和修改 Excel 文件&#xff0c;而无需依赖 Microsoft Excel 或其他外部应用程序。支持初始化、写文件、读文件、格式设置、合并单元格、加粗…

DB2数据库学习(一)

启动DB2数据步骤 1 切换到用户db2inst1 1. 用户权限 实例用户: DB2 在安装时会为每个数据库实例创建一个专用的操作系统用户&#xff08;如 db2inst1&#xff09;。这个用户拥有管理该实例所需的特定权限。 安全性: 通过限制数据库实例的管理操作&#xff08;如启动和停止&…

XGO Rider:全球首创双轮足AI机器人,集成ChatGPT,实现智能互动

近年来&#xff0c;AI机器人技术的飞速发展&#xff0c;正在改变我们的生活方式。从智能家庭助手到教育机器人&#xff0c;再到商业服务&#xff0c;人工智能机器人逐渐从传统的工业领域进入人们的日常生活。作为全球首创的桌面双轮足式AI机器人&#xff0c;XGO Rider通过ChatG…

2.6.ReactOS系统中从内核中发起系统调用

2.6.ReactOS系统中从内核中发起系统调用 2.6.ReactOS系统中从内核中发起系统调用 文章目录 2.6.ReactOS系统中从内核中发起系统调用前言 前言 上面我们已经可以看到用户空间&#xff08;R3&#xff09;进行系统调用的全过程即两种方法的具体实现。 系统调用一般时从R3发起的…

基于netty实现简易版rpc服务-理论分析

1.技术要点 1.1 rpc协议 定义一个rpc协议类&#xff0c;用于rpc服务端和客户端数据交互。 1.2 netty粘包半包处理 由于数据传输使用tcp协议&#xff0c;rpc协议的数据在网络传输过程中会产生三种情况&#xff1a; 1&#xff09;刚好是完整的一条rpc协议数据 2&#xff09;不…

【随手笔记】远程升级之如何平衡下载包大小与速率?

1. 远程升级基本信息 使用NB_BC26模组&#xff0c;通过AT指令使用TCP的协议与公司后台交互升级的固件为BIN文件&#xff0c;使用原始固件包升级&#xff0c;未使用差分方式原始固件包有110K,大小左右&#xff0c;固件的存储为外置的FLASH W25Q16,w25q16最小存储单位为页&#…

基于SpringBoot+Vue+uniapp微信小程序的宿舍报修系统的详细设计和实现

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

HuggingFace应用——自然语言处理(1):什么是NLP?什么是Transformer?

本篇文章属于HuggingFace应用——自然语言处理系列本篇文章对自然语言处理任务进行基本介绍参考资料&#xff1a;HuggingFace 文章目录 1 什么是NLP&#xff1f;2 主流算法与模型梳理——时间顺序3 Transformer3.1 Transformer模型能做什么&#xff1f;Sentiment Analysis 语义…