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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

524. 通过删除字母匹配到字典里最长单词

發布時間:2023/11/29 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 524. 通过删除字母匹配到字典里最长单词 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

524. 通過刪除字母匹配到字典里最長單詞

給你一個字符串 s 和一個字符串數組 dictionary 作為字典,找出并返回字典中最長的字符串,該字符串可以通過刪除 s 中的某些字符得到。

如果答案不止一個,返回長度最長且字典序最小的字符串。如果答案不存在,則返回空字符串。

示例 1:輸入:s = "abpcplea", dictionary = ["ale","apple","monkey","plea"] 輸出:"apple" 示例 2:輸入:s = "abpcplea", dictionary = ["a","b","c"] 輸出:"a"

提示:

  • 1 <= s.length <= 1000
  • 1 <= dictionary.length <= 1000
  • 1 <= dictionary[i].length <= 1000
  • s 和 dictionary[i] 僅由小寫英文字母組成

解題思路

使用雙指針可以很直接判斷字典里面的字符串,是否屬于s的一個子序列。遍歷字典中,所有的字符串,找出長度最長且字典序最小,屬于s的子序列的字符串

代碼

class Solution {public String findLongestWord(String s, List<String> dictionary) {int res=0;String ret="";for(String k:dictionary){if(k.length()>s.length()||!longest(s,k)) continue;if(k.length()>res||ret.length()==0||k.length()==res&&ret.compareTo(k)>0){res=k.length();ret=k;}}return ret;}public boolean longest(String a,String b){int l=0,r=0;while(l<a.length()&&r<b.length()){if(a.charAt(l)==b.charAt(r))r++;l++;}return r==b.length();} }

總結

以上是生活随笔為你收集整理的524. 通过删除字母匹配到字典里最长单词的全部內容,希望文章能夠幫你解決所遇到的問題。

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