问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3949 访问。

给定两个字符串,你需要从这两个字符串中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。

子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。

输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。

输入: "aba", "cdc"

输出: 3

解析: 最长特殊序列可为 "aba" (或 "cdc")

说明:

两个字符串长度均小于100。

字符串中的字符仅含有 'a'~'z'。


Given a group of two strings, you need to find the longest uncommon subsequence of this group of two strings. The longest uncommon subsequence is defined as the longest subsequence of one of these strings and this subsequence should not be any subsequence of the other strings.

A subsequence is a sequence that can be derived from one sequence by deleting some characters without changing the order of the remaining elements. Trivially, any string is a subsequence of itself and an empty string is a subsequence of any string.

The input will be two strings, and the output needs to be the length of the longest uncommon subsequence. If the longest uncommon subsequence doesn't exist, return -1.

Input: "aba", "cdc"

Output: 3

Explanation: The longest uncommon subsequence is "aba" (or "cdc"), because "aba" is a subsequence of "aba", but not a subsequence of any other strings in the group of two strings.

Note:

Both strings' lengths will not exceed 100.

Only letters from a ~ z will appear in input strings.


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3949 访问。

public class Program {

    public static void Main(string[] args) {
var a = "Iori's Blog";
var b = "aba"; var res = FindLUSlength(a, b);
Console.WriteLine(res); Console.ReadKey();
} private static int FindLUSlength(string a, string b) {
//真不知道这道题存在的意思是什么
if(a == b) return -1;
return Math.Max(a.Length, b.Length);
} }

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3949 访问。

11

分析:

显而易见,以上算法的时间复杂度为  。

最新文章

  1. Hadoop的体系结构
  2. CDH集群主节点宕机恢复
  3. Online, Asynchronous Schema Change in F1
  4. job
  5. How Garbage Collection Really Works
  6. dp px 转换工具
  7. @MappedSuperclass的用法
  8. 模式窗口刷新不弹出新窗口触发NET事件
  9. AS3声音录音
  10. 关于VC、MFC和ACCESS的一些使用问题
  11. hdu 1255 覆盖的面积(线段树 面积 交) (待整理)
  12. 【转】为 XmlNode.SelectNodes 加上排序功能
  13. The working copy at 'xxx' is too old 错误解决
  14. LightOj_1408 Batting Practice
  15. (转) Name visibility
  16. View学习(二)-View的测量(measure)过程
  17. iOS 微信支付流程详解
  18. 移动端IOS第三方输入法遮挡底部Input及android键盘回落留白问题
  19. UVA1213
  20. TCP连接和 time_wait、close_waite

热门文章

  1. 没内鬼,来点干货!SQL优化和诊断
  2. 不吹不擂,315 道 Python 面试题,欢迎挑战!
  3. Vue JSX、自定义 v-model
  4. 因为mac不支持移动硬盘的NTFS格式,mac电脑无法写入移动硬盘的终极解决办法
  5. p44_IP数据包格式
  6. 一起学Blazor WebAssembly 开发(3)
  7. NIO入门之多路复用选择器Selector
  8. 惠普EX920强打760P驱动后无法开机,无法启动系统。
  9. Bug--Mybatis报错:There is no getter for property named 'id' in 'class java.lang.Integer'
  10. 常用mongo使用方式(限本人)