今天开始尝试在codewars进行代码练习,因为页面是全英文而且模式也是第一次接触,再加上私事比较多,所以目前停留在找到题目然后调试代码的地步
几番筛选,选定了一道关于连续奇数三角形的题目,实现代码很简单,但是考虑思路写在注释很冗余并且不便查询,所以搬到csdn。
其实这道题目考察的并不是代码能力,而是找规律~
①首先,这是一个连续奇数的三角,第一反应是十分著名的杨辉三角,说明这都是有规律可循的,对于每一行甚至每一斜线。
②题目要求:输入数字n,计算对应行的和(就算英语阅读有问题,实例也是很容易理解的)
既然,题目要求和基本思想已经把握了,那么就要进行下一步了
③找规律:每行第一个数为--n(n-1)+1,第n行就有n个数,依次加2;
④实现:(规律已经找到了,但是还是会踩坑的~)
a.
function rowSumOddNumbers(n) {
var sum = n*(n-1)+1;
for(var i=1;i<n;i++){
sum = sum +sum +2*i
//代码可精简,主要突出思路错误
}
return sum;
}
这是第一版出来的思路,自己觉得完全没有问题