新手也能看懂的蛇形矩阵js代码
看注释哈,写的比较清楚了,应该都能看懂哈
/* 关键点
1.计算层级的第一个数
2.计算要叠加的数,与层级和n(n=i+1)有关
*/
//定义一个数组,用来装数据
let a = []
//定义初始层级,层级等于输入的数
let cen = 1
function test(len,count=1){
if(len===0) return
let list = []
//遍历传进来的层级
for (var i=0; i < len; i++) {
//先放入1
list.push(count)
//经过计算可知,在横向上a_1=1 a_2=a_1+1+cen a_3=a_2+2+cen a_n=a_(n-1)+n+cen
count=list[i]+(i+1)+cen
}
//赋值给a对象
a.push(list)
//层级加一
cen++
//计算第n层第一个数
count=((cen-1)*cen/2)+1
//传入下一次循环次数和第一个数
test(len-1,count)
}
test(5)
结果如图所示:
看完后是不是比别人的写的简单?算法本来就不是太难哈,有问题可以留言,即时回复