codewars.com是在线编码训练营,它里面有kyu(题目等级),题目Kata(招式)(都是出自空手道的日本名词),在这上面可以练习编程,也可以刷一些题目,高等级的题目还是很有难度的,我们来看下几个简单的题目。
Kata(7kyu): Don't give me five!
在这个Kata中,给你一个包含开始数和结束数的范围,你的函数应该可以得到这个范围内所有不包含5的数字的总数。开始数和结束数是包含在内的。
例如:
结果可能包含5. ;-)
开始数总是小与结束数,两个数都可以是负数!
我非常好奇你的解决方案和你解决它的方法,也许你们中有人会找到一个简单的纯数学解决方案。
我的解法和其他人比起来还是有些复杂,下面有最佳实践和最聪明的解法:
来看看最佳实践:
再看下聪明的:
Kata(7kyu): Jaden Casing Strings
转换字符串,如图所示,将上面的字符串转换成下面的:
我的解法:
最佳实践:
最聪明的:
Kata(6kyu): Split Strings
将字符串拆成一个个两元组,如果字符串长度为奇数个为,则在第二个位置补充下划线'_'.
例如:
我的解法:
最佳实践:
最聪明的:
Kata(6kyu):Stop gninnipS My sdroW!
编写一个函数, 它接受一个或多个单词的字符串, 并返回相同的字符串, 但所有五个或更多的字母单词都颠倒了 (就像这个Kata的名字一样)。传入的字符串将仅由字母和空格组成。仅当存在多个单词时, 才会包含空格。
我的解法:
最佳实践:
最聪明的:
Kata(6kyu):Equal Sides Of An Array
输入是一个整数数组。您的任务是从该数组中找到一个索引 n, 其中 n 的左边的整数的总和等于 n 的右整数的总和。如果没有能够使之发生的索引, 返回-1。
例如:
假如输入是:
您的函数应该返回索引3, 因为在数组的第3位位置, 索引左侧和索引右侧的总和相等,都是6.
假如输入是:
您的函数应该返回索引1, 因为在数组的第1位位置,索引左侧和索引右侧的总和相等,都是1.
假如输入是:
您的函数应该返回索引0, 因为在数组的第0位位置,索引左侧{}和索引右侧的总和相等,都是0(在这个问题中空数组表示0)
注意: 请记住, 在大多数编程/脚本语言中, 数组的索引从0开始.没有找到合适的索引应该返回-1.如果给出一个具有多个答案的数组, 则返回最低正确的索引。
我的解法:
最佳实践:
Kata(6kyu):Dubstep
我们假设一首歌包含一定数量的单词,需要在歌曲第一个单词前(数量可能是0)、最后一个单词后(数量可能是0)、单词之间(在任何一对相邻的词之间至少有一个)插入一定数量的单词'WUB',然后融合所有的单词到一个字符串.
例如:
我的解法:
最佳实践使用到了库函数Split:
有兴趣的童鞋可以上该网站刷刷题。
领取专属 10元无门槛券
私享最新 技术干货