leetcode119 楊輝三角1和2(C )

2021-09-19 18:09:18 字數 887 閱讀 1549

關於vector> 的初始化問題。

如定義乙個:vector> tmp;

如果不初始化,直接使用:int i=0;tmp[i].push_back(0);會報錯,這是因為該二維向量為空,尋找下標索引i第一行找不到,故而報錯。

二維vector的初始化一般用vector>tmp(m, vector(n));這裡m和n分別為矩陣的行和列。

如果需要修改行數和列數,那麼可以使用resize函式來調整行列規模,如

vector> res;

res.resize(m);//m行

for (int k = 0; k < m; ++k)

也可以使用push_back來進行行列調整

vector> res(3,vector(4));//生成三行四列矩陣

res.push_back(vector(10));//新增一行長度為10的陣列

res[0].push_back(5);//在第一行末尾新增乙個元素5,只修改單行的列規模

下面通過leetcode118.楊輝三角來練習二維vector和resize的使用。

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。

在楊輝三角中,每個數是它左上方和右上方的數的和。

輸入: 5

輸出:[

[1],

[1,1],

[1,2,1],

[1,3,3,1],

[1,4,6,4,1]

]

c++**:

class solution 

return res;}};

LeetCode 119 楊輝三角

給定乙個非負索引 k,其中 k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 1 輸入 3輸出 1 3,3,1 高階 你可以優化你的演算法到 o k 空間複雜度嗎?初始化前兩層,後面層直接累加左上方和右上方的數的和 class solution else if...

LeetCode 119 楊輝三角 II

給定乙個非負索引 k,其中 k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 3輸出 1,3,3,1 高階 你可以優化你的演算法到 o k 空間複雜度嗎?此題和上一題思想是一樣的,只不過我們用乙個temp陣列,分別在本行元素都建立出來並儲存到out後,將...

LeetCode 119 楊輝三角 II

給定乙個非負索引 k,其中 k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 3 輸出 1,3,3,1 高階 你可以優化你的演算法到 o k 空間複雜度嗎?實現 c class solution vectornewrow while row.size r...