LeetCode 524.通过删除字母匹配到字典里最长单词

题目

给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。

如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。

思路:双指针

代码

java 复制代码
class Solution {
    public String findLongestWord(String s, List<String> dictionary) {
        String res = "";
        for (String t : dictionary) {
            int i = 0;
            int j = 0;
            while (i < t.length() && j < s.length()) {
                if (t.charAt(i) == s.charAt(j)) {
                    i++;
                }
                j++;
            }
            if (i == t.length()) {
                if (t.length() > res.length() || t.length() == res.length() && t.compareTo(res) < 0) {
                    res = t;
                }
            }
        }
        return res;
    }
}

性能

相关推荐
_Li.19 小时前
机器学习-线性判别函数
人工智能·算法·机器学习
蒲小英19 小时前
算法-栈与队列
算法
代码游侠20 小时前
学习笔记——IPC(进程间通信)
linux·运维·网络·笔记·学习·算法
Nick_zcy20 小时前
基于Vue和Python的羽毛球拍智能推荐系统, 从“不会选羽毛球拍”到“选对拍”的一站式小工具
前端·vue.js·python·算法·推荐算法
风筝在晴天搁浅20 小时前
hot100 438.找到字符串中所有字母异位词
算法
zmzb010320 小时前
C++课后习题训练记录Day53
数据结构·c++·算法
老黄编程21 小时前
视觉SLAM十四讲解读-(v2.p84)李代数求导
算法·slam·李群李代数·视觉slam十四讲
LYFlied21 小时前
【每日算法】131. 分割回文串
前端·数据结构·算法·leetcode·面试·职场和发展
夏乌_Wx21 小时前
练题100天——DAY30:下一个更大的元素+键盘行
数据结构·算法
长安er21 小时前
LeetCode 300/152/416/32 动态规划进阶题型总结(最长递增子序列→最长有效括号)
数据结构·算法·leetcode·动态规划·剪枝