2017-07-09 FreeCodeCamp 中级算法题 - 翻译二进制字符串 翻译二进制字符串 (Binary Agents)题目链接 中文链接 英文链接 问题解释 这个 function 接收一个字符串参数 str,返回值为转换之后的字符串 如果 str 是 "01000001",那么返回值应为 "A" FCC FreeCodeCamp中级算法 阅读全文 >>
2017-07-08 FreeCodeCamp 中级算法题 - 数组扁平化 数组扁平化 (Steamroller)题目链接 中文链接 英文链接 问题解释 这个 function 接受一个数组参数 arr,返回值为扁平化之后的数组 如果 arr 是 [1, [2], [[3]]],那么返回值应为 [1, 2, 3] 值得注意的是,如果存在空数组,那我们不应保留,如果存在空的 Object,那我们需要保留。比如,当 arr 是 [1, [], {}] 时,返回值应为 [1, {}] FCC FreeCodeCamp中级算法 阅读全文 >>
2017-07-07 FreeCodeCamp 中级算法题 - 按参数删除数组元素 按参数删除数组元素 (Drop it)题目链接 中文链接 英文链接 问题解释 这个 function 接受一个数组参数 arr 和一个函数参数 func。返回值为 arr 第一个满足参数 func 的元素及其之后的所有元素 如果 arr 是 [1, 2, 3, 4],func 是 function(n) {return n >=3;},那么此时返回值应为 [3, 4] 更值得关注的是这样的情况,如果 arr 是 [0, 1, 0, 1],func 是 function(n) {return n === 1;},那么此时返回值应为 [1, 0, 1] FCC FreeCodeCamp中级算法 阅读全文 >>
2017-07-07 FreeCodeCamp 中级算法题 - 按参数过滤数组 按参数过滤数组 (Finders Keepers)题目链接 中文链接 英文链接 问题解释 这个 function 接受一个数组参数 arr 和一个函数参数 func。返回值为 arr 中满足参数 func 的第一个元素 如果 arr 是 [1, 2, 3],func 是 function(num) {return num === 2;},那么返回值应为 2 FCC FreeCodeCamp中级算法 阅读全文 >>
2017-06-26 FreeCodeCamp 中级算法题 - 找出数字范围的最小公倍数 找出数字范围的最小公倍数 (Smallest Common Multiple)题目链接 中文链接 英文链接 问题解释 这个 function 接收一个数组参数 arr,其中包含两个数字元素。返回这两个数字之间所有数的最小公倍数 如果 arr 是 [1, 5],那么返回值应为 60 需要注意的是,这个 arr 是没有排序的,因此对于 [5, 1],也应该返回 60 FCC FreeCodeCamp中级算法 阅读全文 >>
2017-06-15 FreeCodeCamp 中级算法题 - 质数求和 质数求和 (Sum All Primes)题目链接 中文链接 英文链接 级别:中级 (Intermediate Algorithm Scripting) 问题解释 这个 function 接收一个数字参数 num。返回小于等于 num 的质数之和 如果 num 是 4,那么返回值应为 5。如果 num 是 10,那么返回值应为 17 FCC FreeCodeCamp中级算法 阅读全文 >>
2017-05-14 FreeCodeCamp 中级算法题 - 斐波那契数列奇数项求和 斐波那契数列奇数项求和题目链接 中文链接 英文链接 级别:中级 (Intermediate Algorithm Scripting) 问题解释 这个 function 接收一个数字参数 num。返回小于等于 num 的斐波那契数列奇数项之和 如果 num 是 1,那么返回值应为 1;如果 num 是 4,那么返回值应为 5 思路简介 整体上,思路可以有以下几种: 建立三个变量,分别为当前位置的前两个数以及当前的总和。以当前值大于 num 为跳出条件,循环并动态地给这三个变量赋值,最后返回总和 根据 num 建立一个斐波那契数组(可以用循环写,也可以用递归) 遍历这个数组,在遍历过程中判断奇偶,求和 直接用 filter 方法过滤掉偶数,然后求数组元素总和 两种思路都不太难。可以先尝试一下 FCC FreeCodeCamp中级算法 阅读全文 >>
2017-04-14 FreeCodeCamp 中级算法题 - 字符串格式转换 - 短线连接格式 字符串格式转换 - 短线连接格式 (Spinal Tap Case)题目链接 中文链接 英文链接 级别:中级 (Intermediate Algorithm Scripting) 问题解释 这个 function 接收一个字符串参数 str。返回值为转换后的字符串 如果传入的字符串是 "A Bcd",那么返回值应为 "a-bcd" 这道题乍一看好像很简单,但其实还是有一点点难度的。题目的重点在于判断断线连接的位置,或者说判断单词的边界 FCC FreeCodeCamp中级算法 阅读全文 >>
2017-04-09 FreeCodeCamp 中级算法题 - 转换 HTML 实体字符 转换 HTML 实体字符 (Convert HTML Entities)题目链接 中文链接 英文链接 级别:中级 (Intermediate Algorithm Scripting) 问题解释 这个 function 接收一个字符串参数 str。返回值为转换后的字符串 如果传入的字符串是 "Dolce & Gabbana",那么返回值应为 "Dolce & Gabbana" 在这道题目中,只有以下五个字符需要转换: & 需转换为 '&' < 需转换为 '<' > 需转换为 '>' ' 需转换为 ''' " 需转换为 '"' FCC FreeCodeCamp中级算法 阅读全文 >>
2017-04-09 FreeCodeCamp 中级算法题 - 多个数组元素排序 多个数组元素排序 (Sorted Union)题目链接 中文链接 英文链接 级别:中级 (Intermediate Algorithm Scripting) 问题解释 这个 function 接收两个或两个以上的数组。返回值为过滤及合并之后的一维数组 如果传入的是 [1, 2], [2, 3], [4, 5],那么返回值就是 [1, 2, 3, 4, 5] 需要注意的是,这里不涉及到 “Flatten” (数组扁平化)。比如,传入的是 [1, 2], [[2], 3],那么返回值应该是 [1, 2, [2], 3]。这其实是一个非常深的坑,请看后面详解 另外需要注意的是,参数的数量是不确定的 FCC FreeCodeCamp中级算法 阅读全文 >>