【2018-11-14】初级脚本算法挑战

1.翻转字符串算法

1 function reverseString(str) {
2     var res=str.split("").reverse().join("");
3     return res;
4 }
5 reverseString("hello");

2.阶乘算法

1 function factorialize(num) {
2     var res=1;
3     for(;num>0;num--)
4     {
5         res*=num;
6     }
7     return res;
8 }
9 factorialize(5);

3.回文算法

  如果给定的字符串是回文,返回true,反之,返回false。palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。注意:您需要删除字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是不是回文。函数参数的值可以为"racecar""RaceCar""race CAR"

 1 function palindrome(str) {
 2     // Good luck!
 3     var newStr1=str.replace(/[^0-9a-z]/gi,"").toLowerCase();//整理
 4     var newStr2=newStr1.split("").reverse().join("");//翻转
 5     var bool=false;
 6     if(newStr1==newStr2)
 7         bool=true;
 8     return bool;
 9 }
10 palindrome("race car");

4.寻找最长的单词算法

  返回提供的句子中最长的单词的长度。

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

5.设置首字母大写算法

  返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写。像‘the‘和‘of‘这样的连接符同理。

1 function titleCase(str) {
2     var strArray=str.toLowerCase().split(" ");
3     for(var i=0;i<strArray.length;i++)
4     {
5         strArray[i]=strArray[i][0].toUpperCase()+strArray[i].substring(1,strArray[i].length);
6     }
7     return strArray.join(" ");
8 }
9 titleCase("I‘m a little tea pot");

6.寻找数组中的最大值算法

  在数组中包含了4个小数组,请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素。

 1 function largestOfFour(arr) {
 2     // You can do this!
 3    var resArray=[0,0,0,0];
 4    for(var i=0;i<arr.length;i++)
 5    {
 6        for(var j=0;j<arr[i].length;j++)
 7        {
 8            if(arr[i][j]>resArray[i])
 9            {
10                resArray[i]=arr[i][j];
11            }
12        }
13    }
14    return resArray;
15 }
16 largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

原文地址:https://www.cnblogs.com/zqyyx/p/9960993.html

时间: 2024-11-23 12:26:28

【2018-11-14】初级脚本算法挑战的相关文章

js初级脚本算法

原文链接 翻转字符串算法挑战 function reverseString(str){ str = str.split('').reverse().join(''); return str; } reverseString("hello"); 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串 阶乘算法 function factorialize(num){ var b = 1; for( var i=1;i<=num;i++){ b = i

高级脚本算法挑战

地址:https://www.w3cschool.cn/codecamp/list?pename=advanced_algorithm_scripting_camp 判断电话号码算法挑战:如果传入字符串是一个有效的美国电话号码,则返回 true.用户可以在表单中填入一个任意有效美国电话号码. 下面是一些有效号码的例子(还有下面测试时用到的一些变体写法):555-555-5555(555)555-5555(555) 555-5555555 555 555555555555551 555 555 5

[2018/11/14] Java学习

在网上下载了一个用Java实现的数据结构的视频, 看了前三个视频, 感觉收获很大, 今天花了接近三小时在Java的数据结构上. 课程的目录如下: 第01讲:数组第02讲:简单排序第03讲:栈和队列第04讲:链表第05讲:双端链表和双向链表第06讲:递归的应用第07讲:递归的高级应用第08讲:希尔排序第09讲:快速排序第10讲:二叉树的基本概念第11讲:二叉树的基本操作第12讲:遍历二叉树第13讲:删除二叉树节点第14讲:红黑树第15讲:哈希表第16讲:开放地址法第17讲:链地址法第18讲:图的基

2018.11.14 Nginx服务器的使用

Nginx简单教程 1.什么是Nginx? Nginx(engine x)是一款轻量级的Web服务器.反向代理服务器及电子邮件(IMAP/POP3)代理服务器 什么是反向代理服务器? 反向代理方式是指以代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的返回结果返回给Internet上请求连接的用户端,此时代理服务器对外的表现为一个反向代理服务器 2.安装与使用 2.1安装 nginx官网下载地址:http://nginx.org,发布版本分为

[2018/11/14] Redhat

https://www.linuxprobe.com/ 第一章.第二章感觉对于我来说过于的基础, 我直接看第三章重定向(不过这个我也学过). 3.1 重定向符 输出重定向 使用>来给文件添加内容的时候会清除文件内的原有的内容 使用>>来给文件添加内容的时候会在原有的文件内容的末尾添加内容 当我们想要将错误的信息重定向到文本内时, 不能直接的使用>而是要使用'2>', 例子如下: 输入重定向 使用<来将文本的内容输入给命令执行. wc -l < readme.txt

2018.11.14 Chopin’s

The lineaments of Chopin's肖邦 short, dramatic life are familiar to most classical-music enthusiasts. Born in 1810 in Warsaw to a middle-class family, he was a child prodigy and became a noted pianist and composer of small-scale but exquisite Romantic

[2018/11/14]关于学习的思考

今天早上的操作系统课, 头盔哥(操作老师, 因为有车但是还是经常的骑电瓶车来给我们上课, 而且头盔看起来极其的结实, 故我个人称他为头盔哥)又开始给我们灌鸡汤了, 不过今天的鸡汤味道好极了. 让我对大学本科的教育有更加深入的理解. 头盔哥说, 他这门课交给我们的知识, 如果我们不从事计算机是不会用到的, 但是, 通过这门课的学习, 对学习的方法的锻炼才是真正的收获. 学习方法才是大学教育最重要. 接着, 头盔哥又教育我们持之以恒的道理, 嗯嗯, 简直是人生导师. 课堂笔记的鸡汤部分, 专业知识的

算法导论之十(十一章散列表11.1-4大数组实现直接寻址方式的字典操作)

11.1-4题目: 我们希望在一个非常大的数组上,通过利用直接寻址的方式来实现一个字典.开始时,该数组中可能包含一些无用信息,但要对整个数组进行初始化是不太实际的,因为该数组的规模太大.请给出在大数组上实现直接寻址字典的方式.每个存储对象占用O(1)空间:SEARCH.INSEART.DELETE操作的时间均为O(1):并且对数据结构初始化的时间为O(1).(提示:可以利用一个附加数组,处理方式类似于栈,其大小等于实际存储在字典中的关键字数目,以帮助确定大数组中某个给定的项是否有效). 想法:

RX学习笔记:FreeCodeCamp的JavaScript基本算法挑战

FreeCodeCamp的JavaScript基本算法挑战 https://www.freecodecamp.com 2016-07-03 JavaScript还不是非常熟悉,用已经会的知识来解这些题,估计有些算法会非常笨. 1.反转字符串 str.split("").reverse().join(""); 2.阶乘(阶乘0的结果需为1) function factorialize(num) { var n=1; for(var i=num;i>0;i--){