您的位置:首页 > Web前端 > JavaScript

js常见编程题整理(持续更新中)

2017-08-25 22:29 260 查看

1、

编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成。“组合 ”的规则如下:

1). str中的每个字母要么来自于part1,要么来自于part2;

2). part1和part2中字母的顺序与str中字母的顺序相同。

例如:

“codewars”由”cdw”和”oears”组合而成:

s: c o d e w a r s = codewars

part1: c d w = cdw

part2: o e a r s = oears

function toMerge(s,part1,part2) {

//convert into array to use shift function;
var part1 = part1.split('');
var part2 = part2.split('');

for(var i=0,l=s.length;i<l;i++){
if(part1.indexOf(s[i])>-1){
part1.shift();//remove the first element
}else if(part2.indexOf(s[i])>-1){
part2.shift();
}else{
return false;
}
}
return true;
}
alert(toMerge('abcd','ac','bd'));


2、

小 S,小L,小P,小R和小H 五个人排队站在一个出售’克隆可乐’的自动贩卖机前 ; 队伍中除了他们五个没有其他人 。 队形如下 :

小 S,小L,小P,小R,小H

队列的第一个人 (小S)买了一听可乐,喝下去后变成了两个小S!然后两个小S心满意足的站到了队伍的最后。此时队形变成了这样:

小 L,小P,小R,小H,小S,小S

然后队列中下一个人 (小L)也买了听可乐,喝下去后变成两个人,站到了队伍最后。以此类推。例如小P第三个喝了克隆可乐,之后队伍变成这个样子:

小 R,小H,小S,小S,小L,小L,小P,小P

请问第 n个喝这个饮料的人是谁?

function drink(n){
var arr=['s','l','p','r','h'],temp,count=0;
while(count!=n){
temp=arr.shift();
count++;
arr.push(temp);
arr.push(temp);
}
return temp;
}
alert(drink(6));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript