首页 > 其他 > 详细

双指针---最长子序列

时间:2019-06-28 19:44:25      阅读:244      评论:0      收藏:0      [点我收藏+]

最长子序列

524. Longest Word in Dictionary through Deleting (Medium)

Input:
s = "abpcplea", d = ["ale","apple","monkey","plea"]

Output:
"apple"

题目描述:

??删除 s 中的一些字符,使得它构成字符串列表 d 中的一个字符串,找出能构成的最长字符串。如果有多个相同长度的结果,返回字典序的最小字符串。

代码:

public String findLongestWord(String s,List<String>d){
    String longestWord="";
    for(String target:d){
        int l1=longestWord.length();
        int l2=target.length();
        if(l1>l2||(l1==l2&&longestWord.compareTo(target)<0)
           continue;
           if(isValid(s,target)){
               longestWord=target;
           }
    }
           return longestWord;
}
           public boolean isValid(String s,String target){
               int i=0;
               int j=0;
               while(i<s.length()&&j<target.length()){
                   if(s.charAt(i)==target.charAt(j)){
                       j++;
                   }
                   i++;
               }
               return j==target.length();//证明S中包含target
           }

双指针---最长子序列

原文:https://www.cnblogs.com/yjxyy/p/11104422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!