
FCC上算法通关
江湖竖子
世界之大,无奇不有~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FCC算法:一、Reverse a String--翻转字符串
要求:先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串。结果必须得是一个字符串function reverseString(str) { var newstr = str.split(""); //新建变量来保存字符串拆分后的数组,拆分字符串成数组,split()方法 newstr.reverse(); //原创 2017-10-28 15:50:28 · 444 阅读 · 0 评论 -
FCC算法:十二、比较字符串--Mutations
要求:比较字符串 (蛤蟆可以吃队友,也可以吃对手)如果数组第一个字符串元素包含了第二个字符串元素的所有字符,函数返回true。举例,[“hello”, “Hello”]应该返回true,因为在忽略大小写的情况下,第二个字符串的所有字符都可以在第一个字符串找到。[“hello”, “hey”]应该返回false,因为字符串”hello”并不包含字符”y”。 [“Alien”, “line”]应该返原创 2017-11-17 10:20:37 · 690 阅读 · 0 评论 -
FCC算法:十一、截断数组--Slasher Flick
要求: 返回一个数组被截断n个元素后还剩余的元素,截断从索引0开始。題目提示了兩個方法,Array.slice()和Array.splice()用sliice()方法,function slasher(arr, howMany) { return arr.slice(howMany);}slasher([1, 2, 3], 2);用splice()方法,function slasher(原创 2017-11-11 12:04:05 · 614 阅读 · 0 评论 -
FCC算法:十、猴子吃香蕉, 分割数组--Chunky Monkey
要求: 猴子吃香蕉, 分割数组 (猴子吃香蕉可是掰成好几段来吃哦)把一个数组arr按照指定的数组大小size分割成若干个数组块。例如:chunk([1,2,3,4],2)=[[1,2],[3,4]]; chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];题目提示了用Array.push()和Array.slice()方法function chunk(arr, size原创 2017-11-11 11:34:16 · 1919 阅读 · 0 评论 -
FCC算法:九、截断字符串--Truncate a string
要求:截断字符串 (用瑞兹来截断对面的退路)如果字符串的长度比指定的参数num长,则把多余的部分用…来表示。 切记,插入到字符串尾部的三个点号也会计入字符串的长度。 但是,如果指定的参数num小于或等于3,则添加的三个点号不会计入字符串的长度。题目给出了用slice()的方法提示,slice()方法,截取某个范围的字符串function truncate(str, num) { var ne原创 2017-11-10 15:10:01 · 841 阅读 · 0 评论 -
FCC算法:八、重复输出字符串--Repeat a string repeat a string
要求: 重复输出字符串 (重要的事情说3遍) 重复一个指定的字符串 num次,如果num是一个负数则返回一个空字符串。思路挺清晰的,重复输出n次字符串,n为负数则返回空字符串;function repeat(str, num) { var newstr =str; //声明新变量,储存str的初始值if(num >= 0){ for(var i=0;i<num-1; i++){原创 2017-11-10 11:38:16 · 924 阅读 · 0 评论 -
FCC算法:七、检查字符串结尾--Confirm the Ending
要求:判断一个字符串(str)是否以指定的字符串(target)结尾。 如果是,返回true;如果不是,返回false。官方提示了用String.substr()的方法; 用substr(a,b),返回从a作为起点,获取b长度的字符串 比如: var str=“abcdefg”; var new1 = str.substr(0,2); // abfunction confirmEn原创 2017-11-10 11:14:46 · 374 阅读 · 0 评论 -
FCC算法:五、Title Case a Sentence--句中单词首字母大写
要求:句中单词首字母大写 确保字符串的每个单词首字母都大写,其余部分小写。 像’the’和’of’这样的连接符同理。function titleCase(str) { var str1=str.split(" ");//拆分字符串为数组 var str2; var newstr; for(var i=0; i < str1.length;i++){ str2=str1[i].s原创 2017-11-01 15:52:17 · 1205 阅读 · 0 评论 -
FCC算法:四、Find the Longest Word in a String -- 找出最长单词
要求:在句子中找出最长的单词,并返回它的长度。 函数的返回值应该是一个数字。function findLongestWord(str) { var newstr =str.split(" "); // 字符串拆分为数组,空格间隔 var longWord = 0; //设置初始最小值 for(var i=0; i<newstr.length;i++){ if(原创 2017-11-01 10:49:45 · 529 阅读 · 0 评论 -
FCC算法:三、Check for Palindromes--检查回文字符串
要求: 如果给定的字符串是回文,返回true,反之,返回false。如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。function palindrome(str) { var movestr = str.replace( /\W+/g ,''); //正则表达式筛选所有非单词字符,替换为空的字符串 movestr原创 2017-11-01 10:33:15 · 998 阅读 · 0 评论 -
FCC算法:二、Factorialize a Number--计算一个整数的阶乘
要求: 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。function factorialize(num) { var i=1; var all=1; for( i=1; i<=num; i++){ all *=i; } return all;}factorialize(5);好像没什么好说的 ,for循环加上*=原创 2017-10-28 17:32:33 · 358 阅读 · 0 评论 -
FCC算法:六、找出多个数组中的最大数--Return Largest Numbers in Arrays
要求: 找出多个数组中的最大数 右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。function largestOfFour(arr) { var newArr=[]; for(var i=0;i<arr.length;i++){ arr[i].sort(function(a,b){ return b-a; }原创 2017-11-03 15:00:57 · 636 阅读 · 0 评论