当前位置: 首页 > news >正文

[DEMO]给两个字符串取交集的词语

要求:2个英文字符串中,取相同的大于等于4个字母的词组

比如:

字符串1:" xingMeiLingabcdef WorldHello",
字符串2:"mnjqlup WorldLingLing xingMeiLingHello"
获取交接:
[xingMeiLing, Hello, World]

实现方式:递归 

// 前提是对比两个文本的长短,参数1,是短的; 参数2,是长的
private static Set<String> getNewWords(String shortWord, String longWord){Set<String> result = new HashSet<>();while (shortWord.length()>=5) {String wordFirst = shortWord.substring(0,4);if(longWord.contains(wordFirst)){for (int i = 4; i < shortWord.length() ; i++) {if (longWord.contains(wordFirst+shortWord.charAt(i))){wordFirst = wordFirst+shortWord.charAt(i);}else {break;}}result.add(wordFirst);shortWord =shortWord.substring(wordFirst.length());getNewWords(shortWord,longWord);}else {shortWord =shortWord.substring(1);}}return result;
}

 闲言碎语: 递归比较适合数据量不大的,毕竟它比较占内存

http://www.lryc.cn/news/341862.html

相关文章:

  • leetcode53-Maximum Subarray
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之七 简单进行人脸检测并添加面具特效实现
  • 【go项目01_学习记录06】
  • Vue中Element的下载
  • 机器人项目相关
  • Mac升级go版本某种错误情况处理
  • 美团KV存储squirrel和Celler学习
  • Python学习笔记------处理数据和生成折线图
  • 知识图谱与大语言模型的协同(RAG)——MindMap
  • 奶爸预备 |《P.E.T.父母效能训练:让亲子沟通如此高效而简单:21世纪版》 / 托马斯·戈登——读书笔记
  • 【WebGIS实例】(13)MapboxGL 加载地形高程数据
  • Node.js -- MongoDB
  • 语音识别--单声道转换与降采样
  • 基于springboot+vue+Mysql的点餐平台网站
  • 数据库优化
  • 专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(一)
  • Web安全研究(七)
  • 矩池云jupyter运行opengait代码 未完成版
  • 油烟净化器买家必看!商用油烟净化器功效及使用方法盘点
  • gitee关联picgo设置自己的typora_图床
  • 深入理解网络原理1
  • 为什么感觉没有效果
  • C++中的指针详解
  • 视频改字祝福 豪车装X系统源码uniapp前端小程序源码
  • google chromeDriver 地址
  • 分布式与一致性协议之Raft算法(一)
  • 从自定义一个作用域开始来了解SpringBean的作用域
  • Android 编译文件简述(Android.mk)
  • [React] 手动实现CountTo 数字滚动效果
  • 9.Admin后台系统