日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

台安变频器n2按键说明_力扣 925. 长按键入

發(fā)布時間:2024/9/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 台安变频器n2按键说明_力扣 925. 长按键入 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

925. 長按鍵入

題目描述

你的朋友正在使用鍵盤輸入他的名字 name。偶爾,在鍵入字符 c 時,按鍵可能會被長按,而字符可能被輸入 1 次或多次。

你將會檢查鍵盤輸入的字符 typed。如果它對應(yīng)的可能是你的朋友的名字(其中一些字符可能被長按),那么就返回 True。

示例 1

輸入:name = "alex", typed = "aaleex"
輸出:true
解釋:'alex' 中的 'a' 和 'e' 被長按。

示例 2

輸入:name = "saeed", typed = "ssaaedd"
輸出:false
解釋:'e' 一定需要被鍵入兩次,但在 typed 的輸出中不是這樣。

示例 3

輸入:name = "leelee", typed = "lleeelee"
輸出:true

示例 4

輸入:name = "laiden", typed = "laiden"
輸出:true
解釋:長按名字中的字符并不是必要的。

提示

  • name.length <= 1000
  • typed.length <= 1000
  • name 和 typed 的字符都是小寫字母。
  • ?

    來源:力扣(LeetCode)
    鏈接:https://leetcode-cn.com/problems/long-pressed-name
    著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。


    同時遍歷兩個字符串

    你有一位手殘的鍵盤不好的朋友要輸入他的名字,有時會出現(xiàn)連擊,讓你判斷是否輸入對了。

    這道簡單題感覺邏輯也不是那么簡單,要考慮一些特殊的測試用例,下面是解題思路,相當(dāng)于文字版的代碼:

    • 使用下標(biāo) i 和 j 同時遍歷 name 和 typed,并使用 pre 下標(biāo)記錄上一次成功匹配的字符 name[pre]。
    • 如果 name[i] == typed[j],兩個下標(biāo)同時加一,進(jìn)入下一次匹配,別忘了還要讓 pre 記住當(dāng)前匹配到的字符
    • 如果 name[i] != typed[j],當(dāng)前這一位無法匹配,此時又分幾種情況:
      • 當(dāng) pre 還為 None 時,比如 name 為 'a' 而 typed 為 'b',一上來就無法匹配,pre 還沒來得及記錄任何東西,直接返回 False。
      • 當(dāng) name[pre] != typed[j] 時,說明當(dāng)前輸入的字符 typed[j] 不是上一次成功匹配的字符 name[pre] 的連擊,直接返回 False。
      • 當(dāng) name[pre] == typed[j] 時,構(gòu)成連擊,讓 j 往前走一步。
    • 結(jié)束循環(huán)后,還需要繼續(xù)判斷:
      • 如果下標(biāo) i 和 j 都到達(dá)了終點(diǎn),說明完全匹配干凈了,誰也不剩,返回 True。
      • 如果 i 沒有到達(dá)終點(diǎn),但 j 到達(dá)終點(diǎn),說明 name 中還有字符沒有輸入,返回 False。
      • 如果 j 沒有到達(dá)終點(diǎn),且上一次成功匹配的字符經(jīng)過重復(fù)能夠得到剩下的 typed[j:],則返回 True。這種情況適用于判斷 name 為 'abc',typed 為 'abccccc' 這樣的測試用例。
      • 其他情況返回 False。
    class?Solution:
    ????def?isLongPressedName(self,?name:?str,?typed:?str)?->?bool:
    ????????pre?=?None
    ????????n1,?n2?=?len(name),?len(typed)
    ????????i?=?j?=?0
    ????????while?i?and?j?????????????if?name[i]?==?typed[j]:
    ????????????????pre?=?i
    ????????????????i?+=?1
    ????????????????j?+=?1
    ????????????elif?name[i]?!=?typed[j]:
    ????????????????if?pre?is?None:
    ????????????????????return?False
    ????????????????if?name[pre]?!=?typed[j]:
    ????????????????????return?False
    ????????????????elif?name[pre]?==?typed[j]:
    ????????????????????j?+=?1
    ????????if?i?==?n1?and?j?==?n2:
    ????????????return?True
    ????????if?i?and?j?==?n2:
    ????????????return?False
    ????????if?name[pre]?*?(n2?-?j)?==?typed[j:]:
    ????????????return?True
    ????????return?False

    運(yùn)行結(jié)果

    ?

    執(zhí)行結(jié)果:通過
    執(zhí)行用時:32 ms, 在所有 Python3 提交中擊敗了97.83% 的用戶
    內(nèi)存消耗:13.5 MB, 在所有 Python3 提交中擊敗了10.91% 的用戶


    2020.10.21

    總結(jié)

    以上是生活随笔為你收集整理的台安变频器n2按键说明_力扣 925. 长按键入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。