-
118. Pascal's Triangle릿코드(LEETCODE) 2020. 2. 14. 15:21반응형
https://leetcode.com/problems/pascals-triangle
D 풀이
1 로 모두 다 채워 넣고 상위 요소에서 left, rigt 에 합으로 채우주는 방식으로 풀이
class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<int>> arr; // 모든 원소를 1로 다 채움 for (int i = 1; i < numRows + 1; i++) { vector<int> vi; for (int j = 0; j < i; j++) { vi.push_back(1); } arr.push_back(vi); vi.clear(); } // arr[0] = 1 // arr[1] = 1 1 // arr[2] = 1 arr[1-1][1-1]+arr[1-1][1] 1 for (int i = 2; i < numRows; i++) { int size = arr[i].size(); for (int j = 1; j < size-1; j++) { arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; } } return arr; } };
W 풀이
class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<int> > vv(numRows); for (int i = 0; i < numRows; ++i) { for (int j = 0; j <= i; ++j) { if (j == 0 || j == i) { vv[i].push_back(1); continue; } int left = vv[i - 1][j - 1]; int right = vv[i - 1][j]; vv[i].push_back(left + right); } } return vv; } };
반응형'릿코드(LEETCODE)' 카테고리의 다른 글
1143. Longest Common Subsequence (0) 2020.02.15 119. Pascal's Triangle II (0) 2020.02.14 1347. Minimum Number of Steps to Make Two Strings Anagram (0) 2020.02.14 1346. Check If N and Its Double Exist (0) 2020.02.14 1025. Divisor Game (0) 2020.02.14