python--leetcode521. Longest Uncommon Subsequence I

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 anysubsequence of the other strings.

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.

Example 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:

  1. Both strings' lengths will not exceed 100.

  1. Only letters from a ~ z will appear in input strings.
嗯,这一题的题目意思就是给你两个字符串,让你判断“最长不常用子串”的长度,如果不存在,返回-1。
如何定义这个子串呢:子序列是 从一个序列导出且 可以通过删除一些字符而不改变剩余元素的顺序的序列。 简而言之,任何字符串本身都是一个子序列,空字符串是任何字符串的子序列。
很好,这个定义题目已经给了而且很清楚,我们来看看这一题怎么做。
事实上在discuss里vote最高的一行评论是:

I feel this problem is just perfect for April Fools' day

哈哈哈,来我们看看解法。
无非三种情况:
第一种,a和b字符串相等。那么没有最大子字符串,返回-1.
第二种,a和b长度相等。举个例子,aaa和aab,那么无论是aaa还是aab都是最大子字符串,所以返回len(a)或是len(b)。
第三种,a和b长度不同。举个例子,aaa和bb,那么最大子字符串一定是更长的那个字符串,即aaa。返回max(len(a),len(b))。
代码如下,一行的事:
def findLUSlength(self, a, b):
    return -1 if a==b else max(len(a), len(b))




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哎呦不错的温jay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值