1629. 按鍵持續時間最長的鍵

      網友投稿 769 2025-04-12

      1629. 按鍵持續時間最長的鍵

      題源

      https://leetcode-cn.com/problems/slowest-key/

      題目

      leetcode 設計了一款新式鍵盤,正在測試其可用性。測試人員將會點擊一系列鍵(總計 n 個),每次一個。

      給你一個長度為 n 的字符串 keysPressed ,其中 keysPressed[i] 表示測試序列中第 i 個被按下的鍵。releaseTimes 是一個升序排列的列表,其中 releaseTimes[i] 表示松開第 i 個鍵的時間。字符串和數組的 下標都從 0 開始 。第 0 個鍵在時間為 0 時被按下,接下來每個鍵都 恰好 在前一個鍵松開時被按下。

      測試人員想要找出按鍵 持續時間最長 的鍵。第 i 次按鍵的持續時間為 releaseTimes[i] - releaseTimes[i - 1] ,第 0 次按鍵的持續時間為 releaseTimes[0] 。

      注意,測試期間,同一個鍵可以在不同時刻被多次按下,而每次的持續時間都可能不同。

      請返回按鍵 持續時間最長 的鍵,如果有多個這樣的鍵,則返回 按字母順序排列最大 的那個鍵。

      示例

      示例 1:

      輸入:releaseTimes = [9,29,49,50], keysPressed = "cbcd" 輸出:"c" 解釋:按鍵順序和持續時間如下: 按下 'c' ,持續時間 9(時間 0 按下,時間 9 松開) 按下 'b' ,持續時間 29 - 9 = 20(松開上一個鍵的時間 9 按下,時間 29 松開) 按下 'c' ,持續時間 49 - 29 = 20(松開上一個鍵的時間 29 按下,時間 49 松開) 按下 'd' ,持續時間 50 - 49 = 1(松開上一個鍵的時間 49 按下,時間 50 松開) 按鍵持續時間最長的鍵是 'b' 和 'c'(第二次按下時),持續時間都是 20 'c' 按字母順序排列比 'b' 大,所以答案是 'c'

      1

      2

      3

      4

      5

      6

      7

      8

      9

      示例 2:

      輸入:releaseTimes = [12,23,36,46,62], keysPressed = "spuda" 輸出:"a" 解釋:按鍵順序和持續時間如下: 按下 's' ,持續時間 12 按下 'p' ,持續時間 23 - 12 = 11 按下 'u' ,持續時間 36 - 23 = 13 按下 'd' ,持續時間 46 - 36 = 10 按下 'a' ,持續時間 62 - 46 = 16 按鍵持續時間最長的鍵是 'a' ,持續時間 16

      1

      2

      3

      4

      5

      1629. 按鍵持續時間最長的鍵

      6

      7

      8

      9

      10

      提示:

      releaseTimes.length == n keysPressed.length == n 2 <= n <= 1000 1 <= releaseTimes[i] <= 109 releaseTimes[i] < releaseTimes[i+1] keysPressed 僅由小寫英文字母組成

      1

      2

      3

      4

      5

      6

      思維導圖

      主要思路:

      新建一個名為times的vector數組來存放按鍵的持續時間

      找到持續時間最長的那個按鍵即可得出結果

      持續時間

      if(i==0) //如果下標為0 times.emplace_back(releaseTimes[i]); else //如果下標不為0 times.emplace_back(releaseTimes[i]-releaseTimes[i-1]);

      1

      2

      3

      4

      新建變量來存放最大值maxans和最大值所在的下標maxi

      當maxans

      當maxans == times[i]時,這個時候就需要比較那個按鍵和最大值下標的那個鍵的字典序誰大誰小了:

      當keysPressed[maxi]

      答案

      class Solution { public: char slowestKey(vector& releaseTimes, string keysPressed) { int n = releaseTimes.size(); int maxi=0; int maxans=0; vector times; for(int i = 0;i

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:(centos7-x86)編譯安裝zabbix5.0(apache+php-7.4+mariaDB+zabbix5.0.8)
      下一篇:如何設置有標題行?(怎么設置成有標題行)
      相關文章
      亚洲男人第一无码aⅴ网站| 亚洲一区二区视频在线观看| 亚洲精品无码Av人在线观看国产| 亚洲国产精品无码久久久久久曰| 亚洲欧美日韩国产精品一区| 波多野结衣亚洲一级| 久久精品国产亚洲AV无码娇色| 久久久亚洲欧洲日产国码农村| 亚洲av色福利天堂| 亚洲精品高清久久| 亚洲欧洲视频在线观看| 亚洲手机中文字幕| 亚洲人成7777| 亚洲精品无码成人| 国产一区二区三区亚洲综合| 亚洲成网777777国产精品| 亚洲XX00视频| 最新亚洲成av人免费看| 亚洲中文字幕无码永久在线| 国产亚洲av片在线观看播放 | 亚洲va久久久噜噜噜久久| 亚洲AV色香蕉一区二区| 亚洲自偷自拍另类图片二区| 亚洲综合久久成人69| 亚洲av乱码一区二区三区 | 亚洲影院天堂中文av色| 亚洲午夜无码久久| 亚洲Av无码乱码在线观看性色| 久久亚洲色一区二区三区| 精品国产_亚洲人成在线高清| 久久亚洲精品无码| 亚洲日韩在线视频| 亚洲偷自拍另类图片二区| mm1313亚洲国产精品美女| 国产亚洲情侣一区二区无| 久久青青成人亚洲精品| 亚洲日产2021三区| 亚洲欧美国产精品专区久久| 亚洲国产精品激情在线观看| 亚洲精品无码精品mV在线观看| 亚洲一区二区三区夜色 |