import java.util.Arrays;

/**
*
* Source : https://oj.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?
*
*/
public class PascalTriangle2 { /**
* 获取杨辉三角的第n行
* 占用常数空间,使用长度为n的数组,依次计算 ...i-2,i-2,i 行的数据,可以根据俄第i-1行的结果来计算i行,
* 计算每行数据的时候,如果从前向后填入的话,会把后面的覆盖就不能继续计算,那么就从后向前
*
* @param n
* @return
*/
public int[] getRow (int n) {
int[] row = new int[n];
row[0] = 1;
if (n == 1) {
return row;
}
for (int i = 2; i <= n; i++) {
for (int j = i; j > 1; j--) {
row[j-1] = row[j-1] + row[j-2];
}
}
return row;
} public static void main(String[] args) {
PascalTriangle2 pascalTriangle2 = new PascalTriangle2();
System.out.println(Arrays.toString(pascalTriangle2.getRow(5)));
}
}

最新文章

  1. Visual Studio问题集锦:coloader80.dll未正确安装
  2. Newick format tree
  3. sql编程(四)触发器
  4. CLR VIA C#事件
  5. MAGENTO程序结构图
  6. 【题解】【BT】【Leetcode】Binary Tree Level Order Traversal
  7. wp上一款应用的出生与死亡
  8. Happy Number
  9. Win32 SDK程序创建一些控件(简单调用InitCommonControlsEx,并指定ICC_LISTVIEW_CLASSES控件就可以了)
  10. MYSQL 体系结构图-unzip_LRU
  11. Definition of:payload
  12. Connecting Universities
  13. 前段验证框架 formValidator
  14. 在win7下用net命令无法实现对用户的创建(未完成)
  15. HDU 3689 Infinite monkey theorem [KMP DP]
  16. IT部门不应该是一个后勤部门
  17. 单片机成长之路(51基础篇) - 004 STC89C52MCU 软件实现系统复位
  18. 读txt文件乱码
  19. vue内引入jsPlumb流程控制器(一)
  20. css3效果隔两秒旋转然后停两秒再继续旋转,无限循环

热门文章

  1. 勾勾街——一个专注于免越狱免签名的苹果ios APP打包生成的网站
  2. git cannot lock ref
  3. ios日期显示NaN
  4. Java工作原理:JVM,内存回收及其他
  5. node03
  6. ggplot2 aes函数map到data笔记
  7. NodeJS NPM 镜像使用方法
  8. ps入门学习
  9. FFmpeg 结构体学习(二): AVStream 分析
  10. [Swift]LeetCode204. 计数质数 | Count Primes