leetcode 522. Longest Uncommon Subsequence II
来源:互联网 发布:python 画图 技巧 编辑:程序博客网 时间:2024/06/06 00:26
一。题目
Given a list of strings, you need to find the longest uncommon subsequence among them. The longest uncommon subsequence is defined as the longest subsequence of one of these strings and this subsequence should not beany 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 a list of 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", "eae"Output: 3
Note:
- All the given strings' lengths will not exceed 10.
- The length of the given list will be in the range of [2, 50].
Subscribe to see which companies asked this question.
2.思路
每次拿出一个字符串和其他两两进行比较,判断是否有公共序列,若都没有公共序列则满足题目的要求,将该字符串长度与当前最大非公共子串比较,保留较大者。
3.代码
class Solution {public: bool hasCommon(string a,string b){ int len1 = a.size(); int len2 = b.size(); while(len1>0&&len2>0){ int i = a.size()-len1; int j = b.size()-len2; if(a.at(i) == b.at(j)){ len1--;len2--; }else{ len2--; } } return len1==0; } int findLUSlength(vector<string>& strs) { int maxLen = -1; for(int i = 0;i<strs.size();++i){ int currentLen = strs[i].length(); bool all = true; for(int j = 0;j<strs.size();++j){ if(i!=j&&hasCommon(strs[i], strs[j])){ all = false; break; } } if(all){ maxLen = maxLen<currentLen?currentLen:maxLen; } } return maxLen; }};
- [leetcode]522. Longest Uncommon Subsequence II
- leetcode 522. Longest Uncommon Subsequence II
- [LeetCode]522. Longest Uncommon Subsequence II
- [Leetcode]522. Longest Uncommon Subsequence II
- 522. Longest Uncommon Subsequence II
- 522. Longest Uncommon Subsequence II
- 522. Longest Uncommon Subsequence II
- [Leetcode] 522. Longest Uncommon Subsequence II 解题报告
- 522. Longest Uncommon Subsequence II 题解
- Longest Uncommon Subsequence I(leetcode)
- leetcode 522. Longest Uncommon Subsequence II 最长非公共子序列
- leetcode 521. Longest Uncommon Subsequence I
- 【Leetcode】521. Longest Uncommon Subsequence I
- LeetCode 521. Longest Uncommon Subsequence I
- [LeetCode]521. Longest Uncommon Subsequence I
- leetcode 521. Longest Uncommon Subsequence I
- [leetcode]: 521. Longest Uncommon Subsequence I
- [leetcode]521. Longest Uncommon Subsequence I
- bzoj4838 树重心分解引发的计数问题!4月份月赛
- 关于开源的一些思考
- Fatal Error[Pe1696]: cannot open source file "intrinsics.h" 的问题
- 原型设计的重要性你真的知道吗?
- Java html转word,用freemark生成复杂word格式
- leetcode 522. Longest Uncommon Subsequence II
- 合并两个排序的链表
- JS(十三)文本框脚本
- #Java 高并发秒杀API 笔记
- XSS攻击常用脚本
- 百练OJ 情报破译-Cryptanalysis(字符串加密解密+串逆序+单词处理)
- tensorflow中tfrecords文件的save和read
- Nginx的模块化体系介绍
- 路径和树