这里依旧使用杨辉三角的规律,很隐藏的规律:对于杨辉三角的同一行,第 ( i + 1) 项是第 i 项的( k - i ) /( i + 1 ) 倍。
比如:
第 k 索引行的第 0 项:1
第 k 索引行的第 1 项:1 * k
第 k 索引行的第 2 项:1 * k * ( k - 1) / 2
第 k 索引行的第 3 项:[1 * k * ( k - 1) / 2 ] * ( k - 2 ) / 3
代码实现
classSolution{ public List<Integer> getRow(int rowIndex){ List<Integer> res = new ArrayList<>(rowIndex + 1); long index = 1; for (int i = 0; i <= rowIndex; i++) { res.add((int) index); index = index * ( rowIndex - i ) / ( i + 1 ); } return res; } }
朋友会在“发现-看一看”看到你“在看”的内容