编程100%22-08 字符串子序列

Posted YoungerChina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程100%22-08 字符串子序列相关的知识,希望对你有一定的参考价值。

题目描述

时间限制: 3000MS
内存限制: 589824KB

题目描述:

输入n个字符串,S1,S2,S3,...,Sn。小明想在其中选出K个字符串,把它们按照原始的顺序排好。严格地,小明选出了K个下标1≤i1<i2<i3<,...,<ik≤n,从而得到了新的K个字符串的序列Si1,Si2,Si3,...,Sik。

定义两个字符串S,T的最长公共前缀是S和T最长的一段相同的前缀。如字符串“abba”和“abab”的最长公共前缀是”ab”;字符串“ababa”和“ababb”的最长公共前缀是”abab”;字符串”aba”和“bab”的最长公共前缀是空串。

定义一个字符串序列的价值为所有相邻串公共前缀长度之和,小明想选出价值最高的序列。

 

输入描述

第一行输入两个数n,k。(2≤n≤50,2≤k≤n)

接下来有n行,每行一个字符串。每个字符串长度不超过20,字符串中只有小写字母。

输出描述

输出一个数,最大价值。

示例

样例输入

5 3
abbc
bcc
abba
ab
abbb

样例输出

6

思路

1、 从小到大排序;

2、二分法查找插入;

实现:

……

通过率100%

---------------------------------------------------------------------------------------- 

每周一道题,作为新时代的码农,无论是什么时候都不应该放弃编程

以上是关于编程100%22-08 字符串子序列的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试真题Java实现判断字符串子序列真题+解题思路+代码(2022&2023)

c_cpp 最长的字符串子序列

使用 Python 的字符串子序列内核和 SVM

子串子序列问题

C++编程,查找字符串子串并替换。

数组篇在python中如何查找最长字符串子串