当前位置: 首页 > news >正文

1629 按键持续时间最长的键

LeetCode 设计了一款新式键盘,正在测试其可用性。测试人员将会点击一系列键(总计 n 个),每次一个。

给你一个长度为 n 的字符串 keysPressed ,其中 keysPressed[i] 表示测试序列中第 i 个被按下的键。releaseTimes 是一个升序排列的列表,其中 releaseTimes[i] 表示松开第 i 个键的时间。字符串和数组的 下标都从 0 开始 。第 0 个键在时间为 0 时被按下,接下来每个键都 恰好 在前一个键松开时被按下。

测试人员想要找出按键 持续时间最长 的键。第 i 次按键的持续时间为 releaseTimes[i] - releaseTimes[i - 1] ,第 0 次按键的持续时间为 releaseTimes[0] 。

注意,测试期间,同一个键可以在不同时刻被多次按下,而每次的持续时间都可能不同。

请返回单次按键 持续时间最长 的键,如果有多个这样的键,则返回 按字母顺序排列最大 的那个键。

class Solution {
public:
    char slowestKey(vector<int>& releaseTimes, string keysPressed) {
        //定义n为按键个数
        int n=keysPressed.length();
        //初始化最长持续时间为松开第一个键的时间
        int time=releaseTimes[0];
        //初始化持续时间最长的键为第一个键
        char a=keysPressed[0];
        //遍历剩下来的所有键
        for(int i=1;i<n;i++){
            //如果持续时间大于最长持续时间 或者 持续时间相等但键盘序大于当前键
			if(releaseTimes[i]-releaseTimes[i-1] >time ||
			((releaseTimes[i]-releaseTimes[i-1] ==time) &&keysPressed[i]>a)){
                //更新最长持续时间
				time=releaseTimes[i]-releaseTimes[i-1];
                //更新键
				a=keysPressed[i];
			}
		}
        //返回持续时间最长的键
		return a;
    }
};

相关文章:

  • leetcode:2164. 对奇偶下标分别排序(python3解法)
  • 使用PDFMiner.six解析PDF数据
  • python-leetcode-删除并获得点数
  • AI Angent=智能体?
  • 统计有序矩阵中的负数
  • 新建菜单项的创建之CmpGetValueListFromCache函数分析
  • nuxt常用组件库html-validator应用解析
  • 使用 Selenium 和 Requests 自动化获取动态 Referer 和 Sign 的完整指南
  • 商淘云B2B2C系统 一款支持商家也能分销的多用户商城
  • 神经网络AI原理回顾
  • (YOLOv11)基于Vue Flask YOLOv11的水稻病害检测系统【含有数据大屏展示】
  • MapReduce编程模型
  • 【 实战案例篇三】【某金融信息系统项目管理案例分析】
  • 2.5 运算符2
  • Leetcode2414:最长的字母序连续子字符串的长度
  • Python测试框架Pytest的参数化
  • Python基于Django的网络课程在线学习平台【附源码】
  • 【Java面试】JVM汇总
  • STM32G431RBT6——(1)芯片命名规则
  • SpringCloud之Eureka、Ribbon、OpenFeign
  • dw做网站一般需要多大尺寸/巨量关键词搜索查询
  • 网站建设详细教程视频/企业管理培训课程视频
  • php 做的应用网站/网络营销环境分析
  • 网站建设优秀网/东莞互联网公司排名
  • 建网站软件/河北seo平台
  • 扬州做网站的科技公司/百度信息流优化