【发布时间】:2022-01-14 22:10:02
【问题描述】:
鉴于字符串 nums 仅包含数字和数字数组 predefinedNumbers,我必须基于 nums 构造一个新字符串,但冒号之间的每个数字必须是来自预定义数字和返回所有可能性。
示例输入:
nums = "143163421154143"
predefinedNumbers = ["21154", "143", "21154143", "1634", "163421154"]
期望的输出:
[ ":143:1634:21154:143:", ":143:163421154:143:", ":143:1634:21154143:" ]
到目前为止,我尝试了这段代码,但这不是我需要的结果,我一直在试图理解如何递归地检查它:
let nums = "143163421154143";
predefinedNumbers = ["21154", "143", "21154143", "1634", "163421154"];
let newArray=[];
function makeNumSentences (nums, predefinedNumbers) {
predefinedNumbers.map(item => {
if (nums.includes(item)) {
newArray.push(item)
}
})
console.log(newArray.join(':'));
};
makeNumSentences("143163421154143",["21154", "143", "21154143", "1634", "163421154"])
非常感谢任何提示。
【问题讨论】:
标签: javascript algorithm permutation