118、119 Pascal's Triangle 杨辉三角形

    xiaoxiao2022-07-13  137

    118:列出杨辉三角形所有层

    119:列出杨辉三角形指定层

    根据杨辉三角形公式,可得出

    result[col]=result[col-1]*(rowIndex-col+1)/col

    118代码:

    vector<vector<int>> generate(int numRows) { vector<vector<int>> triangle; int i,j,s; for(i =1;i<=numRows;i++,s=1) { vector<int> row(i,1); for(j=1;j<=i-2;j++) { s=(i-j)*s/j; row[j]=s; } triangle.push_back(row); } return triangle; }

    119代码:(需要注意测数据可能很大,相乘后超出int范围,所以需要使用到unsigned long)

    vector<int> getRow(int rowIndex) { vector<int> row(rowIndex+1,1); int s=1; for(int j=1;j<=rowIndex/2;j++) { s=(unsigned long)(rowIndex+1-j)*s/j; row[j]=row[rowIndex-j]=s; } return row; }

     

    最新回复(0)