随笔分类 - 算法与数据结构
摘要:```
function* fib () { let [prev, cur] = [0,1] for (;;) { yield cur [prev, cur] = [cur, cur+prev] }
} for (let item of fib()) { if (item > 1000) break; consol...
阅读全文
摘要:mmp,对着答案看了三遍才看懂,真是菜的抠脚 给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 ' ' 的正则表达式匹配。 '.' 匹配任意单个字符。 ' ' 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。 说明: s 可能为空,且只包含从 a
阅读全文
摘要:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头 代码: export default (n) = { // 递归函数,用来算输入为n的格雷编码序列 let make = (n) =
阅读全文
摘要:假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回Fals
阅读全文
摘要:给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X = 2 时返回 true。 算法核心就是掌握规律,可以看出当重复的数字有最大公约数,就可以返回true。所
阅读全文
摘要:给定一个仅包含数字 2 9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母 示例: 博主的(没有设置边界值): 老师的:
阅读全文
摘要:给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。 重复出现的子串要计算它们出现的次数。 示例: const str = '00110011' // 给定任意子输入都返回第一个符合条件的子串 function cal(str)
阅读全文