From 8ed5e92d5f58d4d91ccd58cd01bb11eca367137c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=A0=91=E6=A3=AE?= <14021051@buaa.edu.cn> Date: Sun, 2 Sep 2018 16:08:54 +0800 Subject: [PATCH] Create 119. Pascal's Triangle II.md --- 119. Pascal's Triangle II.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 119. Pascal's Triangle II.md diff --git a/119. Pascal's Triangle II.md b/119. Pascal's Triangle II.md new file mode 100644 index 0000000..d978532 --- /dev/null +++ b/119. Pascal's Triangle II.md @@ -0,0 +1,26 @@ +# [119. Pascal's Triangle II](https://leetcode.com/problems/pascals-triangle-ii/description/) +# 思路 +类似第118题,不过这里要求只输出第rowIndex行,而且尽量使用O(k)的空间。 +我们可以依次迭代计算第0、第1...第rowIndex行结果,这是最外层循环, +在得到第i-1行结果时,可以从前往后依次更新数组里的值来得到第i行的结果,这是内层循环。 +注意用一个pre来记录第i-1行里面第j个元素的前一个元素的值。 +# C++ +``` +class Solution { +public: + vector getRow(int rowIndex) { + vectorresult(rowIndex + 1); + result[0] = 1; + for(int i = 1; i <= rowIndex; i++){ + int tmp, pre = result[0]; + for(int j = 1; j < i; j++){ + tmp = result[j]; + result[j] += pre; + pre = tmp; + } + result[i] = 1; + } + return result; + } +}; +```