2021-09-07 刷題 119楊輝三角2
阿新 • • 發佈:2021-09-07
題目連結:https://leetcode-cn.com/problems/pascals-triangle-ii/
題目說明:
給定一個非負索引rowIndex
,返回「楊輝三角」的第rowIndex
行。
在「楊輝三角」中,每個數是它左上方和右上方的數的和。
示例 1:
輸入: rowIndex = 3
輸出: [1,3,3,1]
示例 2:
輸入: rowIndex = 0
輸出: [1]
示例 3:
輸入: rowIndex = 1
輸出: [1,1]
答題思路:
1、觀察楊輝三角每一行,每一列有什麼關係,並使用編號進行編寫
2、重點關注每一行與每一行的關係,並學會用數學公式表達出來(第i行的的第j個與第i-1行的j與j+1 相等)
3、擴充套件學習 滾動陣列
若將楊輝三角的內容進行格式調整,則可規律性的進行程式碼編寫
程式碼:
class Solution { public: vector<int> getRow(int rowIndex) { vector<vector <int>> A(rowIndex + 1);//定義一個數組 for(int i = 0 ; i <=rowIndex; ++i){//迴圈第一層次,進行判斷 A[i].resize(i+1); A[i][0] = A [i][i] =1; for(int j = 1;j<i; ++j){ A[i][j] = A[i-1][j] + A[i-1][j-1]; } } return A[rowIndex]; } };
TIPS:c++中序列式容器的一個共性函式, vv.resize(int n,element)表示調整容器vv的大小為n,擴容後的每個元素的值為element,預設為0 resize()會改變容器的容量和當前元素個數 定義 vector<type> vv; 標頭檔案#include<vector>