大多数人在学习计算机编程时往往会使用leetcode上的算法题来提升自己的编程水平,leetcode上题目现在已经达到了2000多题,大部分都是算法。个人认为在编程之初狂做算法会让人感觉乏味,如果有想刷很多有趣的题同时又想锻炼编程水平的可以看看codewars。
codewars与leetcode的最大不同是,codewars采用了打怪升级提升自己的段位(rank)的方式来引导人们的兴趣,当然rank段位只是一方面,更重要的是codewars里有大量非常有意思的题目,不需要懂特别多的算法就可以做出非常有意思的东西,这些有意思的题就像一个个的开源小轮子一样,在攻克这些题的过程中,会大大提高编程水平,debug能力,更重要的是会发展一个兴趣爱好,兴趣的力量是无穷的。
⚠️需要注意的点。1、codewars全英文,连问题都是英文的,各位不太会英文的可以试试装一个划词翻译软件。2、codewars往往有些题目非常长,做这个需要一定耐心,特别是难的题,有的题可能需要好几天,各种debug才能完成。3、需要自己注册账号,最好是用自己的github账号。而且如果你到了一定段位,做当前段位以下的题,你的段位分数会涨的很慢,所以需要经常做超出当前段位的题。
codewars界面及常用功能介绍
题目列表界面
具体题目界面
非常有意思的一些题目
求解数独
编写一个函数来解决 9x9 数独谜题。函数的一个参数是二维谜题数组,0 代表未知方格,注意这个数独是确定唯一的!!!,这个题考查思路和循环的用法,用代码算出数独!
提示思路:
//求出局部解法,然后不断地补全,最后全解出来
// 怎样找到能找出来的局部呢?直接遍历找到能确定答案的部分
// 确定答案的步骤是 行/列/方格内
// 求出缺的数字的交集
塔防游戏,计算穿越出炮塔路径外星人生命数
一队外星人穿越一条规定的路(图中砖头路),A,B,C,D代表炮塔,A[3,2],3表示炮塔攻击半径,2表示炮塔每轮攻击次数,A可以攻击到范围内的粉红色砖块,D能攻击到范围内蓝色的砖块,返回所有成功穿透我方防线的外星人的总健康值的整数总和。
提示思路:如下图
各种解释器parser
codewars上的题与实际联系紧密,比如写各种逻辑的类,各种游戏逻辑,各种解释器parser,这些leetcode上都没有,这些还只是一部分
brainfuck语言解释器
加减乘除解释器
给定数学表达式字符串,请算出数字结果