当前位置: 移动技术网 > IT编程>网页制作>CSS > freeCodeCamp算法解析

freeCodeCamp算法解析

2018年09月13日  | 移动技术网IT编程  | 我要评论

freecodecamp算法

/*
reverse a string

翻转字符串

先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串。

你的结果必须得是一个字符串

*/

function reversestring(str) {
  // 请把你的代码写在这里
  var temparr = str.split("");
  temparr.reverse();

  return temparr.join("");

}

reversestring("hello");

/*
factorialize a number

计算一个整数的阶乘

如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。

阶乘通常简写成 n!

例如: 5! = 1 * 2 * 3 * 4 * 5 = 120
*/

function factorialize(num) {
  // 请把你的代码写在这里
  if (num === 0) { return 1;}
  for (var i = num-1; i > 0; i--) {
        num *= i;
  }
  return num;
}

factorialize(5);

/*
check for palindromes

检查回文字符串

如果给定的字符串是回文,返回true,反之,返回false。

如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。

注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。

函数参数的值可以为”racecar”,”racecar”和”race car”。
*/

function palindrome(str) {
  // 请把你的代码写在这里
  str = str.replace(/[\s&\|\\\*^%$#@\-,._:()]/gi, ""); // 去掉所有符号和空格,这里已经加了无数次了
  var lowerstr = str.tolowercase(); //全都转为小写
  var temparr = lowerstr.split("");
  var tempreversearr =  temparr.reverse();
  var reversestr = tempreversearr.join("");
  return reversestr == lowerstr;
}



var result = palindrome("a man, a plan, a canal. panama");

/*
find the longest word in a string

找出最长单词
在句子中找出最长的单词,并返回它的长度。
函数的返回值应该是一个数字。
*/

function findlongestword(str) {
  // 请把你的代码写在这里

  var arr = str.split(" ");
  var temparr = [];
  for (var i = 0; i < arr.length; i++) {
    temparr.push(arr[i].length);
  }
  console.log(temparr);
  var result = temparr.sort(function(a, b){
    return b-a;
  });
  console.log(result);
  return result[0];
}

findlongestword("the quick brown fox jumped over the lazy dog");

/*
title case a sentence

句中单词首字母大写
确保字符串的每个单词首字母都大写,其余部分小写。
像’the’和’of’这样的连接符同理。
*/

function titlecase(str) {
    // 请把你的代码写在这里
    var arr = str.tolowercase().split(" ");

    for (var i = 0; i < arr.length; i++) {
        var char = arr[i].charat(0);
        arr[i] = arr[i].replace(char, char.touppercase());
    }
    return arr.join(" ");
}

titlecase("i'm a little tea pot");

/*
return largest numbers in arrays

找出多个数组中的最大数
右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
*/

function largestoffour(arr) {
  // 请把你的代码写在这里
  var newarr = [];
  for (var i = 0; i < arr.length; i++) {
    var maxnum = arr[i].sort(function(a,b){
        return b-a;
    });
    newarr.push(maxnum[0]);
  }
  return newarr;
}

largestoffour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网