← Static tasks

521. Longest Uncommon Subsequence I

leetcode easy

#csharp#easy#leetcode#math#search#string

Task

Даны две строки a и b. Верните длину самой длинной несообщей подпоследовательности между a и b. Если такой несообщей подпоследовательности не существует, верните -1.

Несообщая подпоследовательность между двумя строками — это строка, которая является подпоследовательностью только одной из них.

Пример:

Input: a = "aba", b = "cdc"

Output: 3

Explanation: One longest uncommon subsequence is "aba" because "aba" is a subsequence of "aba" but not "cdc".

Note that "cdc" is also a longest uncommon subsequence.

C# solution

matched/original
public class Solution {
    public int FindLUSlength(string a, string b) {
        if (a == b) {
            return -1;
        } else {
            return Math.Max(a.Length, b.Length);
        }
    }
}

C++ solution

auto-draft, review before submit
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public int FindLUSlength(string a, string b) {
        if (a == b) {
            return -1;
        } else {
            return max(a.size(), b.size());
        }
    }
}

Java solution

matched/original
class Solution {
    public int findLUSlength(String a, String b) {
        if (a.equals(b)) {
            return -1;
        } else {
            return Math.max(a.length(), b.length());
        }
    }
}

JavaScript solution

matched/original
var findLUSlength = function(a, b) {
    if (a === b) {
        return -1;
    } else {
        return Math.max(a.length, b.length);
    }
};

Python solution

matched/original
class Solution:
    def findLUSlength(self, a: str, b: str) -> int:
        if a == b:
            return -1
        else:
            return max(len(a), len(b))

Go solution

matched/original
func findLUSlength(a string, b string) int {
    if a == b {
        return -1
    } else {
        if len(a) > len(b) {
            return len(a)
        } else {
            return len(b)
        }
    }
}

Explanation

Algorithm

Если строка a равна строке b, верните -1, так как не существует несообщей подпоследовательности.

В противном случае: Вычислите длины строк a и b. Верните длину более длинной строки.

😎