题目描述
给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。
如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。
样例描述
示例 1:
输入:s = "abpcplea", dictionary = ["ale","apple","monkey","plea"]
输出:"apple"
示例 2:
输入:s = "abpcplea", dictionary = ["a","b","c"]
输出:"a"
思路
双指针+ 排序 + 贪心
- 首先按照题目要求,将字符串数组按照如下规则排序:优先按长度降序排序,长度相同的按照字母升序。 这样匹配出来的第一个字符串一定就是最优解。
- 一个指针指向待匹配的字符串,一个指针指向字符串数组中的元素。不需