摘要:前言的第一題長按鍵入你的朋友正在使用鍵盤輸入他的名字。偶爾,在鍵入字符時,按鍵可能會被長按,而字符可能被輸入次或多次。示例輸入輸出解釋中的和被長按。
前言
Weekly Contest 107的第一題長按鍵入:
解題思路你的朋友正在使用鍵盤輸入他的名字 name。偶爾,在鍵入字符 c 時,按鍵可能會被長按,而字符可能被輸入 1 次或多次。
你將會檢查鍵盤輸入的字符 typed。如果它對應的可能是你的朋友的名字(其中一些字符可能被長按),那么就返回 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上也有對應的題目,如443. 壓縮字符串。而我的專欄中也有相關算法的文章900-RLE 迭代器。這個算法處理后,會將字符串壓縮到一個數組中,該數組的偶數位索引對應的值為字符,奇數位索引對應的值為該字符重復出現的次數。
后續只需要判斷對應位置的字符是否相等以及出現次數即可。
/** * 925. 長按鍵入 * @param name * @param typed * @return */ public boolean isLongPressedName(String name, String typed) { boolean result=true; if(typed.length()>=name.length()){//輸入字符串的長度必須不小于原字符串 Listnames=compress(name); List typeds=compress(typed); if(names.size()==typeds.size()){//壓縮后的數組長度必須一致 for(int i=0;i<=names.size()-2;i=i+2){ if(names.get(i).equals(typeds.get(i))){ int nameTimes=Integer.valueOf(names.get(i+1)); int typedTimes=Integer.valueOf(typeds.get(i+1)); if(typedTimes compress(String str){ List result=new ArrayList<>(); char currentChar = 0; int currentIndex=0; for(int i=0;i
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71773.html
前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關注。 數組類 26 刪除排序數組中的重復項 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數組中的重復項2 88 合并兩個有序數組 167 兩數之和II - 輸入有序數組 118 楊輝三角 169 easy 求眾數 1...
摘要:當溫度感應器感應到設備主體內部的溫度高于設定值時,此時溫度設定器會控制風機進行啟動,對內部進行散熱處理,低于設定值時停止。設定的時間間隔溫度閾值,當前溫度由顯示,表示工作狀態。為繼電器,,,供電。必須手動清除,否則將持續引發中斷。 目錄 一、 設計要求 二、 總體設計和系統框圖 三、設計...
摘要:那該如何是好原題給出思路是讓事件負責標記按鍵就好了,而方向鍵的事件處理使用設個周期比較小的定時器持續監聽,由于周期小,長按時就會立刻執行相應的事件處理,效果更加流暢。閃爍實現效果閃爍簡單的一個定時器應用,用或都可以實現。 0x1模擬select控件 實現效果:5-01模擬select控件 比較簡單的點擊事件處理,也就處理點擊選擇框展示菜單、點擊菜單選擇、點擊頁面任意角落隱藏菜單這三件事...
摘要:用腳本甲骨文免費獲取自動腳本代碼甲骨文自動搶購腳本代碼寶塔面板刷甲骨文甲骨文自動搶購腳本利用寶塔面板按鍵精靈刷下載下載后,直接點擊運行即可。前面的教程都是用腳本,可能對于 很多童鞋來說,會有點門檻,如果你至今還不知道如何去刷arm,那么可以看看今天的這篇水文:用KeymouseGo(按鍵精靈)刷ARM云服務器。 按鍵精靈的缺點,費電,不能關電腦,耗時耗力。優點,可能你會覺得很安全,不會...
摘要:嵌入式實時操作系統是一個特殊的程序通常稱為內核,它可以創建,銷毀,控制所有任務。顯示處理函數運行過程中,定時器產生中斷,系統進入定時器中斷程序將傳感器標志位置。實時操作系的子系統將再后續持續更新。 ...
閱讀 1661·2021-08-13 15:03
閱讀 2091·2019-08-30 15:54
閱讀 3551·2019-08-26 10:30
閱讀 1027·2019-08-26 10:22
閱讀 2753·2019-08-23 14:42
閱讀 1814·2019-08-22 11:16
閱讀 1046·2019-08-21 18:33
閱讀 3170·2019-08-21 17:28