你的位置:首页 > Java教程

[Java教程]FreeCodeCamp 的 Basic Algorithm Scripting 题解(1)


这是本人的原创文章,转载请注明原文链接http://www.cnblogs.com/wusuowiaaa1blog/p/5932121.html。

1.Reverse a String


 

翻转字符串

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

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

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。


这是一些对你有帮助的资源:

Global String Object

String.split()

Array.reverse()

Array.join()

1 var array = [];2 function reverseString(str) {3  array = str.split();4  array = array.reverse();5  return array.join();6 }7 8 reverseString("hello");

2.Factorialize a Number


 

计算一个整数的阶乘

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

阶乘通常简写成 n!

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

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。


这是一些对你有帮助的资源:

Arithmetic Operators

1 function factorialize(num) {2  if(num<1){ 3   return 1; 4  }else{ 5   return factorialize(num-1)*num; 6  } 7 }8 9 factorialize(5);

 

3.Check for Palindromes


 

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

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

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

函数参数的值可以为"racecar""RaceCar""race CAR"

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。


这是一些对你有帮助的资源:

String.replace()

String.toLowerCase()



 1 function palindrome(str) { 2  // Good luck! 3  newstr = str.replace(/[^0-9A-Za-z]+/g,'').toLowerCase(); 4  realstr = newstr.split("").reverse().join(""); 5  if(newstr == realstr){ 6   return true; 7  }else{ 8   return false; 9  }10 }11 palindrome("eye");

4.Find the Longest Word in a String

找到提供的句子中最长的单词,并计算它的长度。

函数的返回值应该是一个数字。

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。


这是一些对你有帮助的资源:

String.split()

String.length


 1 function findLongestWord(str) { 2  var wordarray = str.split(' '); 3  var max = 0; 4  for(var i=0;i<wordarray.length;i++){ 5   if (wordarray[i].length > max ){ 6    max = wordarray[i].length; 7   } 8  } 9  return max;10 }11 12 findLongestWord("The quick brown fox jumped over the lazy dog");

 

5.Title Case a Sentence


 

 

确保字符串的每个单词首字母都大写,其余部分小写。

像'the'和'of'这样的连接符同理。

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。


这是一些对你有帮助的资源:

String.split()

 1 function titleCase(str) { 2  var wordArray = str.toLowerCase().split(' '); 3  for(var i=0;i<wordArray.length;i++){ 4   var char = wordArray[i].charAt(0); 5   wordArray[i] = wordArray[i].replace(char,function replace(char){ 6       return char.toUpperCase(); 7       }); 8  } 9  return wordArray.join(" ");10 }11 12 titleCase("I'm a little tea pot");