java实现最长子序列

软件建
• 阅读 988

要求

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

Output:
"apple"

实现

public class Demo7 {

    @Test
    public void solution1() {

        String s = "abpcplea";

        List<String> list = new ArrayList<>();
        list.add("ale");
        list.add("apple");
        list.add("monkey");
        list.add("plea");
        String longestWord = findLongestWord(s, list);
        System.out.println(longestWord);
    }

    private String findLongestWord(String s, List<String> d) {
        List max = new ArrayList();
        char[] chars = s.toCharArray();
        for (String s1 : d) {
            List<Character> list = new ArrayList<>();
            char[] chars1 = s1.toCharArray();
            for (int i1 = 0; i1 < chars1.length; i1++) {
                for (int i = i1; i < chars.length; i++) {
                    if (chars1[i1] == chars[i]) {
                        list.add(chars1[i1]);
                        break;
                    }
                }
            }

            if (max.size() < list.size()) {
                max = list;
            }
        }

        StringBuilder stringBuilder = new StringBuilder();
        max.forEach(s3 -> {
            stringBuilder.append(s3);
        });

        return stringBuilder.toString();
    }
}
点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Jacquelyn38 Jacquelyn38
4年前
用了这 7 个 VS Code 插件,想写一辈子代码
0\.往期精彩工具推荐译文来自https://levelup.gitconnected.com/7vscodeextensionsthatmakeyouwanttokeepcodingforeverf205e597ae34原作者Daan译者:蓝色的秋风(github
Souleigh ✨ Souleigh ✨
4年前
34 个 JavaScript 代码优化技巧
1. 含有多个条件的if语句我们可以在数组中存储多个值,并且可以使用数组的includes方法。//longhandif (x  'abc' || x  'def' || x  'ghi' || x 'jkl') {    //logic}//shorthandif ('abc', 'def
Wesley13 Wesley13
4年前
Unity XLua 官方案例学习
1\.Helloworld1usingUnityEngine;2usingXLua;34publicclassHelloworld:MonoBehaviour{5//Usethisforinitialization
Wesley13 Wesley13
4年前
Oracle JDK7 bug 发现、分析与解决实战
本文首发于vivo互联网技术微信公众号链接:https://mp.weixin.qq.com/s/8f34CaTpWz5pTHKA0Xeg(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2F8f34CaTpWz5p
Wesley13 Wesley13
4年前
Java日期时间API系列34
  通过Java日期时间API系列9Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fxkzhangsanx%2Fp%2F12110137.html)
Stella981 Stella981
4年前
Redis4.0.0 安装及配置 (Linux — Centos7)
Redis4.0.0安装及配置(Linux—Centos7)!96(http://cdn2.jianshu.io/assets/default_avatar/43397163ecdb3855a0a4139c34a695885.jpg?imageMogr2/autoor
Stella981 Stella981
4年前
Kali Day01
1root@kali:~/文档arpspoofieth0t172.20.151.172.20.151.1234:64:a9:36:4:b70:0:0:0:0:0080642:arpreply172.20.151.1isat34:64:a9:36:4:b7334:64:a9:36:4
Stella981 Stella981
4年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Stella981 Stella981
4年前
OS X Mavericks 10.9.5 (13F34) bt下载地址
OSXMavericks10.9.5(13F34),源http://bitsnoop.com/osxmavericks109513f34dmgq68447977.html磁力链magnet:?xturn:btih:4c887e73cd37228d8dc0746315501edc289acc51&dnOS%20X%2
Wesley13 Wesley13
4年前
34.TCP取样器
阅读文本大概需要3分钟。1、TCP取样器的作用   TCP取样器作用就是通过TCP/IP协议来连接服务器,然后发送数据和接收数据。2、TCP取样器详解!(https://oscimg.oschina.net/oscnet/32a9b19ba1db00f321d22a0f33bcfb68a0d.png)TCPClien