1.行走十分钟
描述
您住在笛卡尔市,所有道路都以完美的网格布局。你提前十分钟到达约会,所以你决定趁机去散步。该市在手机上为其市民提供了一个步行生成应用程序 - 每次您按下按钮时,它都会向您发送一个代表步行方向的单字母字符串数组(例如。['n', 's', 'w', 'e'])。对于每个字母(方向),您总是只走一个街区,并且您知道穿越一个城市街区需要一分钟,因此创建一个函数,如果应用程序为您提供的步行将花费您正好十分钟(您不想早或晚!)并且会返回true,当然, 将您返回到起点。否则返回false。
注意:您将始终收到一个包含随机方向字母分类的有效数组(仅限“n”、“s”、“e”或“w”)。它永远不会给你一个空数组(这不是散步,那是静止不动!
解析
设置初始位置为 x=0;y=0;南北走(N,S),即y轴数字变化,东西走即x轴数字变化
代码
//insert brilliant code here
if(walk.length!=10){
return false
}
var x=0,y=0;
for(var i=0;i<10;i++){
switch(walk[i]){
case'n':y++;break;
case's':y--;break;
case'w':x++;break;
case'e':x--;break;
}
}
return x==0&&y==0;
}
2.Categorize New Member(对新成员进行分类)
描述
西郊槌球俱乐部有两类会员,高级和公开。他们需要您帮助填写申请表,该表格将告诉潜在成员他们将被安置在哪个类别。
要成为老年人,会员必须年满 55 岁且残疾超过 7。在这个槌球俱乐部中,让分范围从 -2 到 +26;球员越好,让分越低。
输入
输入将包含对列表。每对包含单个潜在成员的信息。信息由表示该人的年龄的整数和表示该人的残疾的整数组成。
输出
输出将包含一个字符串值列表(在Haskell和C:or中),说明是将相应的成员放置在高级类别还是开放类别中。OpenSenior
例
input = [[18, 20], [45, 2], [61, 12], [37, 6], [21, 21], [78, 9]]
output = ["Open", "Open", "Senior", "Open", "Open", "Senior"]
解析
for循环然后用下标获取数组信息,再用if语句过滤条件;
代码
var arr=[];
for(var i=0;i<data.length;i++){
if(data[i][0]>=55&&data[i][1]>7)
{
arr.push('Senior')
}
else{
arr.push('Open')
}
}
return arr;
}
3.降序(Descending Order)
描述
例子:
输入:输出:4214554421
输入:输出:145263654321
输入:输出:123456789987654321
解析
首先将parseInt () 转化为 String 类型,再用split分割,sort比较大小,reverse翻转最后join拼接回来
代码
function descendingOrder(n){
//...
return parseInt(String(n).split('').sort().reverse().join(''));
}
4. 朋友还是敌人(Friend or Foe)
描述
如果一个名字正好有4个字母,你可以确定它一定是你的朋友!否则,你可以确定他不是...
例如:输入 = [“Ryan”, “Kieran”, “Jason”, “Yous”], 输出 = [“Ryan”, “Yous”]
即
friend ["Ryan", "Kieran", "Mark"] `shouldBe` ["Ryan", "Mark"]
注意:保留输出中名称的原始顺序。
解析
for循环和if语句判定字符长度
代码
function friend(friends){
//your code here
var shouldBe=[];
for(var i=0;i<friends.length;i++){
if(friends[i].length==4){
shouldBe.push(friends[i]);
}
}
return shouldBe;
}
5. 数字之和 (Sum of Numbers)
描述
给定两个整数和,可以是正数或负数,找到它们之间和包含它们的所有整数的总和并返回它。如果两个数字相等,则返回 或 。abab
注意:并且不订购!ab
示例 (a, b) --> 输出(说明)
(1, 0) --> 1 (1 + 0 = 1)
(1, 2) --> 3 (1 + 2 = 3)
(0, 1) --> 1 (0 + 1 = 1)
(1, 1) --> 1 (1 since both are same)
(-1, 0) --> -1 (-1 + 0 = -1)
(-1, 2) --> 2 (-1 + 0 + 1 + 2 = 2)
解析
if语句判断ab的大小,然后用递归解决
##代码
function GetSum(a, b) {
if (a == b) return a;
else if (a < b) return a + GetSum(a + 1, b);
else return a + GetSum(a - 1, b);
}