LeetCode-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 any subsequence 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.
  2. Only letters from a ~ z will appear in input strings.


翻譯:

給定兩組字符串,你需要找到這兩組字符串的最長的不常見的子序列。最長的不常見的子序列被定義爲這個字符串之一併且這個子序列不是  這些字符串中的任何其它一個的子序列。

子序列是一個序列,可以通過刪除某些字符而不改變其餘元素的順序從一個序列派生。 平凡地說,任何字符串都是其自身的子序列,空字符串是任何字符串的子序列。

輸入兩個字符串,並且輸出最長的不常見子序列的長度。 如果最長的不常見子序列不存在,則返回-1。

例子 1:

輸入: "aba", "cdc"
輸出: 3
解釋:  最長的不常見子序列是"aba"(或者"cdc"),因爲"aba"是"aba"的一個子序列,但不是兩組字符串中其它一個的子序列。

注意:

  1. 字符串的長度都不超過100。
  2. 輸入的字符串中只有字母a~z。


思路:

題目簡單,直接見代碼。


C++代碼(Visual Studio 2017):

#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

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

int main()
{
	Solution s;
	string a = "aba";
	string b = "cdc";
	int result=s.findLUSlength(a,b);
	cout << result << endl;
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章