javascript - codewars的一道题,搞不懂
世界只因有你
世界只因有你 2017-05-19 10:31:57
[JavaScript讨论组]

题目

Given two arrays of strings a1 and a2 return a sorted array r in lexicographical order of the strings of a1 which are substrings of strings of a2.

例子

Example 1:
a1 = ["arp", "live", "strong"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
returns ["arp", "live", "strong"]

Example 2:
a1 = ["tarp", "mice", "bull"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
returns []

要求

要求实现function inArray(array1,array2){}

测试用例:

a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
a1 = ["xyz", "live", "strong"]
Test.assertSimilar(inArray(a1, a2), ["live", "strong"])
a1 = ["live", "strong", "arp"]
Test.assertSimilar(inArray(a1, a2), ["arp", "live", "strong"])
a1 = ["tarp", "mice", "bull"]
Test.assertSimilar(inArray(a1, a2), [])
世界只因有你
世界只因有你

全部回复(3)
仅有的幸福

供参考:

function inArray(a1, a2){
    return a1.filter(el_a1 => a2.find(el_a2 => el_a2.includes(el_a1))).sort();
}
某草草

应该是寻找最大子串问题吧,参考动态规划问题(2)——寻找最长公共子串

PHP中文网

简单来说,返回a2中存在的a1字串,顺序为a1的顺序。

比如harp和sharp都有字串arp。lively和alive都有字串live,amstrong有字串strong。然后返回的顺序对应a1的顺序,所以返回["arp", "live", "strong"]

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号