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));
相关文章推荐
- JS常见问题整理(持续更新)
- JS常见问题整理(持续更新)
- 『Spring.NET』常见错误整理(持续更新)
- R语言常见问题(持续更新整理)
- Flume常见错误整理(持续更新ing...)
- 前端(html,css,js)各种摘抄整理(持续更新ing)
- 面试常见问题及相关答案整理(持续更新中)
- 3.C#/.NET编程中的常见异常(持续更新)
- Hadoop 常见错误解决方法(12-13持续整理更新中)
- [总结]vue开发常见知识点及问题资料整理(持续更新)
- 前端常见BUG--js,及处理方法(持续更新)
- ios 常见错误整理 持续更新
- 前端常见BUG--js,及处理方法(持续更新)
- VOIP回拨系统Astgo常见问题(FAQ)知识库(持续整理更新中...)
- [置顶] 编程时常见问题(持续更新)
- JS常见问题集合(持续更新)
- 编程以来遇到的常见的前端优化(持续更新)
- Java并发编程资料整理,持续更新
- JS常见代码块,持续更新......
- c语言编程时常见错误(持续更新)