题目描述

给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个,返回长度最长且字典顺序最小的字符串。如果答案不存在,则返回空字符串。

示例 1:

输入:
s = "abpcplea", d = ["ale","apple","monkey","plea"]输出:
"apple"

示例 2:

输入:
s = "abpcplea", d = ["a","b","c"]输出:
"a"

说明:

  1. 所有输入的字符串只包含小写字母。
  2. 字典的大小不会超过 1000。
  3. 所有输入的字符串长度不会超过 1000。

解题思路

  1. 通过双指针查看字典中的一个字符串是不是给定字符串的子序列
  2. 通过compareTo在同样长度下,找到字典顺序更小的那个
public String findLongestWord(String s, List<String> d) {String longestWord = "";for (String str : d){int l1 = longestWord.length();int l2 = str.length();if (isSubsequence(s, str)){if (l2 > l1 || (l2 == l1) && str.compareTo(longestWord)<0)longestWord = str;}}return longestWord;
}private boolean isSubsequence(String s, String target){int i = 0, j = 0;while (i < s.length() && j < target.length()){if (s.charAt(i) == target.charAt(j))j++;i++;}return j == target.length();
}

转载于:https://www.cnblogs.com/yuzhenzero/p/10691943.html

【LeetCode】524-通过删除字母匹配到字典里最长单词相关推荐

  1. LeetCode 524. 通过删除字母匹配到字典里最长单词(双指针)

    1. 题目 给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到. 如果答案不止一个,返回长度最长且字典顺序最小的字符串.如果答案不存在,则返回空字 ...

  2. 2022-2-14 Leetcode 524.通过删除字母匹配到字典里最长单词

    我自己的方法: 1.依次从字典里取出每一个单词,在字符串 s 中进行查找. 查找的过程中可能出现的问题有: 字母出现多次,只找到最前面的字母,顺序上会有混乱 字母都找到了,但是都是同一个字母 简而言之 ...

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

    题目描述 给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给 定字符串的某些字符来得到.如果答案不止一个,返回长度最长且字典顺序最小的字符串. 如果答案不存在,则返回空字 ...

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

    文章目录 一.题目描述 二.解题思路 三.代码 一.题目描述 1.题目描述 给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以 ...

  5. Leetcode刷题100天—524. 通过删除字母匹配到字典里最长单词(双指针)—day38

    前言: 作者:神的孩子在歌唱 大家好,我叫运智 524. 通过删除字母匹配到字典里最长单词 难度中等192收藏分享切换为英文接收动态反馈 给你一个字符串 s 和一个字符串数组 dictionary 作 ...

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

    leetcode力扣刷题打卡 题目:524. 通过删除字母匹配到字典里最长单词 描述:给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该 ...

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

    524. 通过删除字母匹配到字典里最长单词 给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到. 如果答案不 ...

  8. JAVA中返回值为字母时_LeetCode#524通过删除字母匹配到字典里最长单词-java中CompareTo方法用法以及Comparator中Compare方法返回值...

    import java.util.Collections; import java.util.Comparator; import java.util.List; /* 524. 通过删除字母匹配到字 ...

  9. 第十二Leetcode每日刷题——524. 通过删除字母匹配到字典里最长单词

    给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到. 如果答案不止一个,返回长度最长且字母序最小 ...

  10. leetcode记录-524-通过删除字母匹配到字典里最长单词-双指针

    524.通过删除字母匹配到字典里最长单词 思路 理解题意是一大难点...对于list中的字符串,如果可以由s删除一些字符得到,那么这个字符串初步符合标准,把他和str(初始为空)的比较,如果其长度更长 ...

最新文章

  1. ant models 内获取 url 的参数传递到组件
  2. oracle过滤某个字段重复记录,只获取一条记录
  3. TIME_WAIT状态的一些总结
  4. 利用福禄克DSX系列测试仪部署MPTL模块化插头端接链路
  5. Win32 API串口编程
  6. Nginx应用场景之负载均衡
  7. mysql utf8存不了中文乱码_MySQL怎么存文本不乱码?
  8. 好玩的WPF第一弹:窗体抖动+边框阴影效果+倒计时显示文字
  9. Java编程:切面条
  10. hibernate二级缓存作用、配置
  11. Linux Kernel Makefiles(转)
  12. loadrunner Lr_类函数之 lr_rendezvous()
  13. Oracle 11g 学习笔记-6(触发器、函数、存储过程、程序包)
  14. 特殊数字符号大全,word 数学符号
  15. 刚刚,人类第一次直接“看见”了黑洞
  16. 微信小程序实现字体渐变
  17. 数学建模学习(1) 线性规划
  18. 【数据结构】十进制转化为二进制
  19. matlab 已实现极差波动,关于黄金期货论文范文写作 中国黄金期货价格SVR智能预测相关论文写作资料...
  20. 人商城PHP7.0,wemall商城系统v7.0|php微信商城系统wemall v7.0下载

热门文章

  1. 2021 年 Web 开发的 7 大趋势,我只能说牛逼!
  2. Java会走向晦暗吗?Kotlin会取而代之吗
  3. 深入 AI 之前,你需要学习的服务与框架
  4. 前后端分离之后,如何保护你的API
  5. CPU说:这个世界太慢了
  6. luoguP3600 随机数生成器 期望概率DP + DP优化
  7. mysql-5.7.12安装
  8. 怎样在IIS下配置PHP
  9. fasthttp中的协程池实现
  10. 全栈开发必备的10款 Sublime Text 插件