522. Longest Uncommon Subsequence II 题解
来源:互联网 发布:西瓜影音 mac版本 编辑:程序博客网 时间:2024/05/20 21:47
522. Longest Uncommon Subsequence II 题解
题目描述:
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 be any 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].
题目链接:522. Longest Uncommon Subsequence II
算法描述:
由题意知,给定一个装有多个字符串的容器,我们需要找到其中最长的“非公共子序列”的长度。其中,这里的“子序列”是指:对于一个字符串,去掉这个字符串中任意几个字符,但剩余的字符在这个字符串中相对位置不变的字符串。“非公共子序列”是指某字符串与容器中其它任意字符串都不会构成如上定义的“子序列”关系,即某字符串不是其它字符串的“子序列”。
我们用双重for循环遍历的方法来做这道题,对于每个字符串,使其与其它字符串相比较,当两个字符串相同时,直接跳过。如果一个字符串不是其它任意一个字符串的“子序列”,那么这个字符串就是一个如上定义的“非公共子序列”,我们记录下它的长度。最后取最长的“非公共子序列”的长度返回。
代码:
class Solution {public: int findLUSlength(vector<string>& strs) { int ans = -1; int j = 0; for(int i=0; i<strs.size(); ++i){ for(j=0; j<strs.size(); ++j){ if(i == j){ continue; } if(subsequence(strs[i], strs[j])){ break; } } if(j == strs.size()){ ans = max(ans, (int)strs[i].size()); } } return ans; } int subsequence(string str1, string str2){ int cnt = 0; for(char i :str2){ if(i == str1[cnt]){ ++cnt; } if(cnt == str1.size()){ break; } } return cnt == str1.size(); }};
- 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
- leetcode 522. Longest Uncommon Subsequence II
- [LeetCode]522. Longest Uncommon Subsequence II
- [Leetcode]522. Longest Uncommon Subsequence II
- [Leetcode] 522. Longest Uncommon Subsequence II 解题报告
- leetcode题解-28. Implement strStr() && 521. Longest Uncommon Subsequence I && 522 II
- Longest Uncommon Subsequence I
- Longest Uncommon Subsequence I
- leetcode 522. Longest Uncommon Subsequence II 最长非公共子序列
- 521. Longest Uncommon Subsequence I
- 521. Longest Uncommon Subsequence I
- 521 Longest Uncommon Subsequence I
- 521. Longest Uncommon Subsequence I
- 521. Longest Uncommon Subsequence I
- Python: shutil模块 常用api速查表
- 【学生】学生信息管理遇到的问题
- 小程序-网络请求封装
- 使用Luke打开Elasticsearch的索引
- 路由算法
- 522. Longest Uncommon Subsequence II 题解
- #if _MSC_VER > 1000 #pragma once #endif 作用解释
- 使用SVN提交文件时文件状态显示Missing怎么处理
- TCP分段与IP分片
- 用pycharm远程单步调试
- 注册表_操作
- SVN Access to ‘/svn/Test/!svn/me’ forbidden,不能更新解决办法
- Android学习之Intent
- Oralce(全)个人笔记