【Leetcode每日一题】---521. 最长特殊序列 Ⅰ(脑筋急转弯)

题目链接521. 最长特殊序列 Ⅰ
【Leetcode每日一题】---521. 最长特殊序列 Ⅰ(脑筋急转弯)_第1张图片

这题感觉题目很绕,这里的特殊子序列该如何理解,举例说明:
字符串a=“aaa”,b=“bbb”,a的子序列就为aaa,b的子序列为bbb,a的子序列没有在b中出现,b的子序列没有在a中出现。这时a,b都为特殊子序列。

因此总共就两种情况:

情况一.a串的长度==b串的长度:
这时最长子序列就是字符串本身,如果a和b有一个字符不相等,说明两个子序列都是特殊子序列。反之说明两个字符串一模一样。
情况二.a串的长度!=b串的长度:
这时返回更长的字符串就好了(因为其子序列长度更长,所以其一定是特殊子序列)。

class Solution {
public:
    int findLUSlength(string a, string b) {
        return a != b ? max(a.size(), b.size()) : -1;
    }
};

你可能感兴趣的:(leetcode每日一题,算法,蓝桥杯,职场和发展)