LeetCode 119. Pascal's Triangle II
原题链接在这里:https://leetcode.com/problems/pascals-triangle-ii/
题目:
Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return [1,3,3,1]
.
Note:
Could you optimize your algorithm to use only O(k) extra space?
题解:
与Pascal's Triangle相似。用上一行作为历史记录算下一行,因为需要使用前面的历史数据,所以要从后往前更新res.
Time Complexity: O(n^2).
Space: O(k), res space.
AC Java:
1 public class Solution { 2 public List<Integer> getRow(int rowIndex) { 3 List<Integer> res = new ArrayList<Integer>(); 4 if(rowIndex < 0){ 5 return res; 6 } 7 res.add(1); 8 for(int i = 0; i<rowIndex; i++){ 9 //因为这里需要使用前面的历史数据,所以不能从左到右更新,必须从右向左更新 10 for(int j = res.size()-1; j>0; j--){ 11 res.set(j, res.get(j)+res.get(j-1)); 12 } 13 res.add(1); 14 } 15 16 return res; 17 } 18 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步