要求
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();
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。