FCC 算法和数据结构
FCC网站训练题目,JavaScript算法和数据结构篇
自挂东南枝yy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FCC 算法中级 算法和数据结构项目(五个题目)
回文检查器 如果传入的字符串是回文字符串,则返回true。 否则返回false 回文palindrome,指在忽略标点符号、大小写和空格的前提下,正着读和反着读一模一样。 注意:检查回文时,你需要先去除所有非字母数字的字符(标点、空格和符号),并将所有字母都转换成大写或都转换成小写。 我们会传入具有不同格式的字符串,如racecar、RaceCar和race CAR等等。 我们也会传入一些包含特殊符号的字符串,例如2A3*3a2、2A3 3a2、2_A3*3#A2。 funct...原创 2021-07-30 17:04:03 · 799 阅读 · 0 评论 -
FCC 算法中级 一切都是True
检查谓词(第二个参数)在集合(第一个参数)的所有元素是否为truthy。 换句话说,你将获得一个对象的数组集合。 如果数组中的每个对象里,pre对应属性值均为truthy,则返回true。 否则,返回false。 JavaScript 中,如果一个值在 Boolean 的上下文中的执行结果为true,那么我们称这个值是truthy的。 别忘了,你可以使用点号表示法或方括号表示法([])来访问对象的属性。 刚开始有点不理解题意,看两遍测试案例就懂了 测试案例(后四个): t...原创 2021-07-21 17:01:05 · 359 阅读 · 2 评论 -
FCC 算法中级 数组扁平化
数组扁平化 嵌套数组扁平化成一维数组。 必须考虑到各种深度的嵌套层级。 数组扁平化有多种方法,本次采用的递归的方式实现 function steamrollArray(arr) { var res = []; arr.map(item => { if(Array.isArray(item)){ res = res.concat(steamrollArray(item)); }else{ res.push(item); } });原创 2021-07-21 15:18:30 · 177 阅读 · 0 评论 -
FCC 算法中级 根据参数删除数组元素
给定数组arr,从数组的第一个元素开始,用函数func来检查数组的每个元素是否返回true。 如果返回 false,就把这个元素删除。 持续执行删除操作,直到某个元素传入 func 时返回 true 为止。 然后在条件满足后返回数组的其余部分,否则,arr应作为空数组返回。 function dropElements(arr, func) { for(var i = 0;i < arr.length;i++){ if(func(arr[i]) === false){ ...原创 2021-07-20 16:51:56 · 168 阅读 · 0 评论 -
FCC 中级算法 质数求和
质数(prime number)是大于 1 且仅可以被 1 和自己整除的数。 比如,2 就是一个质数,因为它只可以被 1 和 2(它本身)整除。 相反,4 不是质数,因为它可以被 1, 2 和 4 整除。 请完成sumPrimes方法,使其返回小于等于传入参数数字的所有质数之和。 function sumPrimes(num) { let arr = [2]; for(let i = 3;i <= num;i++){ let a = 0; for(let j = 2;..原创 2021-07-18 19:53:51 · 183 阅读 · 0 评论 -
求斐波那契数列中的奇数之和
在这道题目中,我们需要写一个函数,参数为一个正整数num,返回值为斐波那契数列中,小于或等于num的奇数之和。 斐波那契数列中,第一和第二个数字都是 1。 后面的每个数字由之前两数相加得出。 斐波那契数列的前六个数字分别为:1、1、2、3、5、8。 比如,sumFibs(10)应该返回10。 因为斐波那契数列中,比10小的数字只有 1、1、3、5。 function sumFibs(num) { var pre = 0; var cur = 1; var arr=...原创 2021-07-18 17:48:20 · 1374 阅读 · 0 评论 -
转换 HTML 字符实体
请将字符串中的&、<、>、"(双引号)和'(单引号)转换为相应的 HTML 字符实体。 function convertHTML(str) { var a={ '&':'&', '<':'<', '>':'>', '"':'"', '\'':"'" }; return str.sp..原创 2021-07-18 12:49:35 · 330 阅读 · 0 评论 -
寻找缺失的字母
在这道题目中,我们需要写一个函数,找出传入的字符串里缺失的字母并返回它。 如果所有字母都在传入的字符串范围内,返回undefined。 function fearNotLetter(str) { for(let i = 0;i < str.length;i++){ if(str.charCodeAt(i+1) - str.charCodeAt(i) > 1){ return String.fromCharCode(str.charCodeAt(i) + 1); }.原创 2021-07-17 17:34:14 · 509 阅读 · 0 评论 -
FCC JavaScript算法和数据结构 面向对象编程 下半
从超类继承行为 在上一个挑战中,我们创建了一个Animal超类(supertype),用来定义所有动物共有的行为: function Animal() { } Animal.prototype.eat = function() { console.log("nom nom nom"); }; 在这一节以及下一节挑战中我们将学习如何在Bird和Dog中重用Animal中的方法,而无需重新定义它们。 这里我们会用到构造函数的继承特性。 这一节挑战中我们学习第一步:创建一个超类sup...原创 2021-07-12 17:23:15 · 181 阅读 · 0 评论 -
FCC JavaScript 算法和数据结构 基础数据结构
Use an Array to Store a Collection of Data let yourArray = [ "you're so cute!", 1, true, false, { true: 1, false: 0 } ]; // change this line Access an Array’s Contents Using Bracket Notation let myArray = ["a..原创 2021-07-07 09:52:03 · 199 阅读 · 0 评论 -
FCC JavaScript 算法和数据结构 中级算法 DNA配对
DNA配对 给出的 DNA 链上缺少配对元素。 请基于每个字符,获取与其配对的元素,并将结果作为二维数组返回。 DNA 的碱基对有两种形式:一种是 A 与 T,一种是 C 与 G。 请为参数中给出的每个字符配对相应的碱基。 注意,参数中给出的字符应作为每个子数组中的第一个元素返回。 例如,传入GCG时,应返回[["G", "C"], ["C","G"], ["G", "C"]]。 字符和它的配对组成一个数组中,所有配对数组放在一个数组里。 function pairElement(st...原创 2021-07-17 17:06:33 · 180 阅读 · 0 评论 -
FCC JavaScript 算法和数据结构 算法中级 短线连接格式
在这道题目中,我们需要写一个函数,把一个字符串转换为“短线连接格式”。短线连接格式的意思是,所有字母都是小写,且用-连接。比如,对于Hello World,应该转换为hello-world;对于I love_Javascript-VeryMuch,应该转换为i-love-javascript-very-much。 function spinalCase(str) { return str.trim().split(/\s|_|(?=[A-Z])/).join('-').toLowerCase()..原创 2021-07-17 14:20:04 · 162 阅读 · 0 评论 -
FCC 基础JavaScript 记录集合
Record Collection 右边有一个JSON对象,代表着你的专辑集。每一张专辑由一个唯一的id标识,并具有多种属性。但并非所有的专辑都有完整的信息。 写一个函数,它有个三个参数,id、prop、 value。 如果 value !='' 而且prop != 'tracks' ,collectionCopy[id][prop]=value;。 如果 value !='' 而且prop == 'tracks' ,collectionCopy[id][prop].push(value);。 如原创 2021-07-04 10:41:01 · 476 阅读 · 0 评论
分享