1. childStr 为 abc,parentStr 为 wrlbgcab,返回 true,因为 wrlbgcab 包含了 abc 的一个排列 cab;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| function isTrue(childStr, child) { for (var i = 0; i < child.length; i++) { if (!childStr.includes(child[i])) { return false; } } return true; } function getChild(parentStr, childStr) { for (let i = 0; i < parentStr.length; i++) { if (childStr.includes(parentStr[i])) { let child = parentStr.slice(i, i + childStr.length); if (childStr.length === child.length) { let res = isTrue(childStr, child); if (res) return true; } } } return false; } console.log(2222, getChild("wrlbgcab", "bcaw")); console.log(2222, getChild("wrlbgcab", "bca"));
|
2. 斐波那契数列
斐波那契数列就是从 0 和 1 开始,后面的数都是前两个数之和 0,1,1,2,3,5,8,13,21,34,55,89….
1 2 3 4 5 6 7 8 9 10
| function lib(n) { var arr = new Array(n + 1).fill(null); arr[0] = 0; arr[1] = 1; for (let i = 2; i < arr.length; i++) { arr[i] = arr[i - 2] + arr[i - 1]; } return arr[n]; } lib(10);
|