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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 925. 长按键入(双指针)

發布時間:2024/7/5 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 925. 长按键入(双指针) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 題目

你的朋友正在使用鍵盤輸入他的名字 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) 鏈接:https://leetcode-cn.com/problems/long-pressed-name
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

2. 解題

class Solution { // LeetCode public:bool isLongPressedName(string name, string typed) {int i = 0, j = 0;if(name.size() > typed.size())return false;while(j < typed.size()){if(i < name.size() && name[i] == typed[j])i++, j++;else if(j > 0 && typed[j-1] == typed[j])j++;elsereturn false;}return (i == name.size());} };

0 ms 8.6 MB

class Solution { // 2021.1.9 天池在線編程 public:/*** @param name: your friend's name* @param typed: the typed string* @return: Return True if it is possible that it was your friends name*/bool isLongPressedName(string &name, string &typed) {// Write your code hereif(name.size() > typed.size())return false;int i = 0, j = 0, n = name.size(), m = typed.size();char prev = '*';while(i < n && j < m){if(name[i] == typed[j]){i++, j++;prev = name[i-1];}else{if(typed[j] != prev)return false;j++;}}if(i < n) return false;while(j < m){if(typed[j++] != prev)return false;}return true;} };

天池題目地址:https://tianchi.aliyun.com/oj/245809026182441523/267721733825565363

總結

以上是生活随笔為你收集整理的LeetCode 925. 长按键入(双指针)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。