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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

LeetCode 524. 通过删除字母匹配到字典里最长单词(双指针)

發(fā)布時(shí)間:2024/7/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 524. 通过删除字母匹配到字典里最长单词(双指针) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 題目

給定一個(gè)字符串和一個(gè)字符串字典,找到字典里面最長(zhǎng)的字符串,該字符串可以通過刪除給定字符串的某些字符來(lái)得到。
如果答案不止一個(gè),返回長(zhǎng)度最長(zhǎng)字典順序最小的字符串。如果答案不存在,則返回空字符串。

示例 1: 輸入: s = "abpcplea", d = ["ale","apple","monkey","plea"] 輸出: "apple"示例 2: 輸入: s = "abpcplea", d = ["a","b","c"] 輸出: "a"說(shuō)明: 所有輸入的字符串只包含小寫字母。 字典的大小不會(huì)超過 1000。 所有輸入的字符串長(zhǎng)度不會(huì)超過 1000

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

2. 解題

class Solution { //C++ public:string findLongestWord(string s, vector<string>& d) {string ans;int i, j, k;for(i = 0; i < d.size(); ++i){for(j = k = 0; j <s.size() && k<d[i].size(); ++j){if(s[j] == d[i][k])//匹配了,移動(dòng)一位k++;}if(k == d[i].size())//都匹配過了{if(d[i].size() > ans.size())ans = d[i];else if(d[i].size() == ans.size() && d[i] < ans)ans = d[i];}}return ans;} };

148 ms 14.8 MB

class Solution:# py3def findLongestWord(self, s: str, d: List[str]) -> str:ans = ""n = len(d)m = len(s)for i in range(n):j = k = 0while j < m and k < len(d[i]):if s[j]==d[i][k]:k += 1j += 1if k==len(d[i]):if (len(d[i]) > len(ans)) or (len(d[i])==len(ans) and d[i] < ans):ans = d[i]return ans

724 ms 16 MB

總結(jié)

以上是生活随笔為你收集整理的LeetCode 524. 通过删除字母匹配到字典里最长单词(双指针)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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