1 1 1 1 2 1 ... 輸入 n ,輸出數組 假設輸入 3,輸出數組 [[1],[1,1],[1,2,1]]
function triangle(num){ let arr = []; arr.push([1]); loop([1]); function loop(lastarr){ // 代碼循環的部分 if(lastarr.length < num){ let newarr = []; newarr[0] = 1; // 頭部是1 newarr[lastarr.length] = 1; // 尾部也是1 for(let i = 0; i < lastarr.length-1; i++){ newarr[i+1] = lastarr[i] + lastarr[i+1]; } arr.push(newarr); loop(newarr); } } return arr; } console.log(triangle(5));
若是是須要輸入下面的結果javascript
1 1 1 1 2 1 ... 輸入 n ,輸出數組 假設輸入 3,輸出數組 [1, 1, 1, 1, 2, 1]
只須要添加arr.push的時候添加擴展運算符(...)便可,這裏只須要更改兩個地方java
1. arr.push([1]) 改爲 arr.push(...[1]) 2. arr.push(newarr) 改爲 arr.push(...newarr)