Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Pascal's Triangle II trong C++


Cho chỉ số hàng k (0-indexed, k ≤ 33), trả về hàng thứ k của tam giác Pascal.

Ví dụ: k=3 → [1,3,3,1].

Giải thuật (O(k) không gian)

Cập nhật mảng kết quả từ phải sang trái: res[j] += res[j-1].

Ví dụ triển khai C++

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> row(rowIndex + 1, 0);
        row[0] = 1;
        for (int i = 1; i <= rowIndex; i++) {
            for (int j = i; j >= 1; j--)
                row[j] += row[j-1];
        }
        return row;
    }
};

void print(vector<int> v) {
    cout << "[";
    for (int i = 0; i < v.size(); i++) cout << v[i] << (i+1

Đầu vào / Đầu ra

Input: 3
Output: [1, 3, 3, 1]