LeetCode 522. 最长特殊序列 II

1. 题目

给定字符串列表,你需要从它们中找出最长的特殊序列。
最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。

子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。

输入将是一个字符串列表,输出是最长特殊序列的长度。如果最长特殊序列不存在,返回 -1 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-uncommon-subsequence-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 类似题目:LeetCode 521. 最长特殊序列 Ⅰ

题目意思是,找一个最长的字符,且这个字符不能从别人那里顺次挑出(别人的子序,可以隔着字符,不是子串,子串必须连续)
所以有重复的字符串不是答案,从不重复的字符串中,从最长的开始找(先排序),检查这个最长的字符是不是原字符串集合中的字符串的子序。
在这里插入图片描述

class Solution {
public:int findLUSlength(vector<string>& strs) {sort(strs.begin(), strs.end(),[&](auto a, auto b){return a.size() > b.size();//按长度排序});map<string,int> m;for(auto it = strs.begin(); it != strs.end(); ++it)m[*it]++;vector<string> uniq;for(auto it = m.begin(); it != m.end(); ++it){if(it->second == 1)//次数一次的收集起来uniq.push_back(it->first);}sort(uniq.begin(), uniq.end(),[&](auto a, auto b){return a.size() > b.size();//按长度排序});for(auto it = uniq.begin(); it != uniq.end(); ++it){if(!subSeq(strs,*it))return it->size();}return -1;}bool subSeq(vector<string> &strs, string& s){int len = s.size(), i, j;bool flag;for(auto it = strs.begin(); *it != s; ++it){  //str是从长到短的flag = true;for(i = 0,j = 0; i < len; ++i,++j){while(j < it->size() && (*it)[j] != s[i])j++;//长字符串中的字符不等if(j == it->size() && i < len){flag = false;//不是子序break;}else if(i == len-1 && j <= it->size()){flag = true;break;}}if(flag)//是子序break;}return flag;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 - 计算机工程 | 大规模企业级知识图谱实践综述

本文转载自公众号&#xff1a;计算机工程。大规模企业级知识图谱实践综述王昊奋, 丁军, 胡芳槐, 王鑫中文摘要&#xff1a;近年来&#xff0c;知识图谱及其相关技术得到快速发展&#xff0c;并被广泛应用于工业界各种认知智能场景中。在简述知识图谱相关研究的基础上&#xff0…

2021年了,对话系统凉透了吗?

文 | 兔子酱编 | 夕小瑶大家好&#xff0c;我是可盐可甜的兔子酱&#xff0c;一枚卖萌屋的资深潜水小编&#xff0c;今天终于有了自己的第一篇文章&#xff0c;希望耗时一周撰写的本文能让大家有所收获~这篇文章&#xff0c;算是对自己在头部大厂2年算法岗炼丹经历的一个经验浓…

前端可用性保障实践

本文基于已发表在Infoq的“美团收银台前端可用性保障实践”一文编辑而成。 一般可用性都是说后端服务的可用性&#xff0c;都说我们的服务可用性到了几个9&#xff0c;很少有人把可用性放到前端来。其实对于任何一个有UI交互流程的业务&#xff0c;都会有前端服务可用性&#x…

LeetCode 762. 二进制表示中质数个计算置位

1. 题目 给定两个整数 L 和 R &#xff0c;找到闭区间 [L, R] 范围内&#xff0c;计算置位位数为质数的整数个数。 &#xff08;注意&#xff0c;计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有&#xff0c;1 不是质数。&#xff09; …

报名通道开启 | 顶会 ICLR 2021:医疗对话生成与自动诊断国际竞赛,邀你来战!...

ICLR&#xff0c;2013 年由深度学习三巨头中的Yoshua Bengio 和 Yann LeCun 牵头创办&#xff0c;已受到研究者和开发者的广泛认可&#xff0c;是当之无愧的深度学习领域顶级会议。今年&#xff0c;由中山大学、加利福尼亚大学圣迭戈分校和腾讯天衍实验室等组织联合举办的医疗对…

论文浅尝 | 图神经网络的对抗攻击和防御相关文献集

本文转载自公众号&#xff1a;专知。作者&#xff1a;Wei Jin。导读&#xff1a;本资源整理了关于图形数据或GNN(图形神经网络)上的对抗攻击和防御的论文链接。并对其进行分类。目录Survey PapersAttack PapersDefense PapersCertified Robustness Papers地址连接&#xff1a;h…

李宏毅《机器学习》作业班+带打比赛

人工智能来势汹汹&#xff0c;学习人工智能该从哪里开始呢&#xff1f;人工智能的学习路径又是怎样的&#xff1f;须知入门人工智能第一步就是机器学习。但是&#xff0c;在上千份同学的学习反馈中&#xff0c;我们发现了2个人工智能学习领域的痛难点&#xff1a;1、课程偏理论…

论文浅尝 – KDD2020 | 使用图对比编码的图神经网络预训练模型

论文笔记整理&#xff1a;陈名杨&#xff0c;浙江大学在读博士生&#xff0c;研究方向为知识图谱表示学习。图表示学习是一个当前关注度较高的领域&#xff0c;并且有许多真实的应用。然而当前的很多图表示学习方法都是对一个领域或者某一个图训练一个模型&#xff0c;也就是说…

LeetCode 575. 分糖果(set集合去重)

1. 题目 给定一个偶数长度的数组&#xff0c;其中不同的数字代表着不同种类的糖果&#xff0c;每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 输入: candies [1,1,2,2,3,3] 输出: 3 解析: 一共有三种种类的糖…

Android官方开发文档Training系列课程中文版:键盘输入处理之指定输入的类型

原文地址&#xff1a;http://android.xsoftlab.net/training/keyboard-input/index.html 引言 在文本框接收到焦点时&#xff0c;Android系统会在屏幕上显示一个软键盘。为了提供良好的用户体验&#xff0c;你可以指定相关输入类型的特性&#xff0c;以及输入法应当如何展现。…

美团 R 语言数据运营实战

一、引言 近年来&#xff0c;随着分布式数据处理技术的不断革新&#xff0c;Hive、Spark、Kylin、Impala、Presto 等工具不断推陈出新&#xff0c;对大数据集合的计算和存储成为现实&#xff0c;数据仓库/商业分析部门日益成为各类企业和机构的标配。在这种背景下&#xff0c;是…

天天说常识推理,究竟常识是什么?

文 | 花小花Posy写这篇文章的时候&#xff0c;我去搜了搜常识的例子。“睁开眼睛打喷嚏是不可能的。&#xff08;还真没留意。&#xff09;““北极熊是左撇子。“”长颈鹿没办法咳嗽。”呃&#xff1f;好吧&#xff0c;我需要补一补自己的常识。那么这些所谓的“常识”真的是常…

论文笔记 | Counterfactual Samples Synthesizing for Robust VQA

论文笔记整理&#xff1a;窦春柳&#xff0c;天津大学硕士。来源&#xff1a;CVPR 2020链接&#xff1a;https://openaccess.thecvf.com/content_CVPR_2020/papers/Chen_Counterfactual_Samples_Synthesizing_for_Robust_Visual_Question_Answering_CVPR_2020_paper.pdf动机当今…

Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus

背景 对于Android系统来说&#xff0c;消息传递是最基本的组件&#xff0c;每一个App内的不同页面&#xff0c;不同组件都在进行消息传递。消息传递既可以用于Android四大组件之间的通信&#xff0c;也可用于异步线程和主线程之间的通信。对于Android开发者来说&#xff0c;经常…

论文浅尝 - ICLR2020 | 知道什么、如何以及为什么:基于方面的情感分析的近乎完整的解决方案...

论文笔记整理&#xff1a;余海阳&#xff0c;浙江大学硕士&#xff0c;研究方向为知识图谱、自然语言处理。链接&#xff1a;https://arxiv.org/abs/1911.01616动机基于目标的情感分析或基于方面的情感分析&#xff08;ABSA&#xff09;是指在细粒度的层次上解决各种情感分析任…

全栈深度学习第5期: 神经网络调试技巧

一起追剧鸭简介Berkeley全栈深度学习追剧计划是由夕小瑶的卖萌屋发起的优质公开课打卡项目&#xff0c;通过微信群为同期追剧的小伙伴提供交流平台。关于该计划的详请见这里。Berkeley深度学习追剧群目前已有1000小伙伴加入&#xff0c;公众号后台回复口令 深度学习追剧 入群。…

LeetCode 22. 括号生成(回溯/DP)

文章目录1. 题目2. 解题2.1 暴力回溯2.2 DP1. 题目 给出 n 代表生成括号的对数&#xff0c;请你写出一个函数&#xff0c;使其能够生成所有可能的并且有效的括号组合。 例如&#xff0c;给出 n 3&#xff0c;生成结果为&#xff1a;["((()))","(()())",…

美团服务体验平台对接业务数据的最佳实践-海盗中间件

背景 移动互联网时代&#xff0c;用户体验为王。美团服务体验平台希望能够帮助客户解决在选、购、用美团产品过程中遇到的各种问题&#xff0c;真正做到“以客户为中心”&#xff0c;为客户排忧解难。但服务体验平台内部只维护客户的客诉数据&#xff0c;为了精准地预判和更好地…

中文近义词工具包:Synonyms

Synonyms Chinese Synonyms for Natural Language Processing and Understanding. 更好的中文近义词&#xff1a;聊天机器人、智能问答工具包。 synonyms可以用于自然语言理解的很多任务&#xff1a;文本对齐&#xff0c;推荐算法&#xff0c;相似度计算&#xff0c;语义偏移…

惊了,掌握了这个炼丹技巧的我开始突飞猛进

文 | 夕小瑶从不拖稿的小夕今天在知乎上刷到一个问题&#xff1a;哈&#xff1f;一向求真务实、高逼格讨论的知乎画风怎么突然就不一样了。我以为回答区会有这张图&#xff1a;▲如来神掌结果竟然没有&#xff01;知乎果然没有让我失望&#xff0c;还是一如既往的认真、严谨、有…