function bge(n,zero){ zero = zero || 0 if(n%2==0){ return bge(n-1,n) } const res = [] let first = [1,zero] for(var i=0;i<n;i++){ var arr = [] if(i%2==0){ arr.push(first) arr= arr.concat(createArr(increase(first[0]+1,n,n-1))) res.push(arr) first = [zero,arr[(n-1)/2][1]] }else{ arr.push(first) arr= arr.concat(createArr(decrease(first[1]-1,n,n-1).reverse())) res.push(arr) first = [arr[(n-1)/2][1],zero] } } function decrease(first,max,count){ const arr = [] let value = first while(count--){ if(value<1){ value = max } arr.push(value--) } return arr } function increase(first,max,count){ const arr = [] let value = first while(count--){ if(value>max){ value = 1 } arr.push(value++) } return arr } function createArr(arr){ const res = [] const len = arr.length for(let i=0;i<len/2;i++){ res.push([arr[i],arr[len-i-1]]) } return res } return res}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)