LeetCode——Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
原题链接:https://oj.leetcode.com/problems/pascals-triangle/
题目 :给定n,生成n行的帕斯卡三角形。
思路:帕斯卡三角形 也就是 杨辉三角形,依据数学知识,知当中每一行的数字代表的是 (a+b)^n
 的系数。于是此题能够转化为求组合数 C(n,k)。把每一行的系数算出来就可以。
	public static List<List<Integer>> generate(int numRows) {
		List<List<Integer>> list = new ArrayList<List<Integer>>();
		if (numRows < 1)
			return list;
		for (int i = 0; i < numRows; i++) {
			List<Integer> li = new ArrayList<Integer>();
			for (int j = 0; j <= i; j++) {
				li.add(Integer.valueOf(cnk(i, j) + ""));
			}
			list.add(li);
		}
		return list;
	}
	//求组合数
	public static BigInteger cnk(int n, int k) {
		BigInteger fenzi = new BigInteger("1");
		BigInteger fenmu = new BigInteger("1");
		for (int i = n - k + 1; i <= n; i++) {
			String s = Integer.toString(i);
			BigInteger stobig = new BigInteger(s);
			fenzi = fenzi.multiply(stobig);
		}
		for (int j = 1; j <= k; j++) {
			String ss = Integer.toString(j);
			BigInteger stobig2 = new BigInteger(ss);
			fenmu = fenmu.multiply(stobig2);
		}
		BigInteger result = fenzi.divide(fenmu);
		return result;
	}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
LeetCode——Pascal's Triangle的更多相关文章
- LeetCode——Pascal's Triangle II
		
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
 - leetcode - Pascal's Triangle
		
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Retu ...
 - [LeetCode]Pascal's Triangle II
		
题目:给定一个行索引index,返回帕斯卡三角形第index层的三角形 算法:生成index层帕斯卡三角形,并返回第index层三角形 public class Solution { public L ...
 - 【Leetcode】Pascal's Triangle II
		
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
 - 【leetcode】118. Pascal's Triangle
		
@requires_authorization @author johnsondu @create_time 2015.7.23 19:54 @url [Pascal's Triangle](http ...
 - leetcode笔记:Pascal's Triangle
		
一. 题目描写叙述 Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows ...
 - leetcode:Pascal's Triangle
		
一. 题目 经典题目,杨辉三角,输入行数.生成杨辉三角的数组. 二. 分析 首先,我们知道有例如以下规律: 1.每一行的第一个数和最后一个数都为1 2.中间的数是上面数和上面数左边的数 ...
 - Pascal's Triangle I,II
		
题目来自于Leetcode https://leetcode.com/problems/pascals-triangle/ Given numRows, generate the first numR ...
 - Pascal's Triangle II
		
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
 
随机推荐
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)
			
近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...
 - notepad扩展搜索,正则搜索
			
Dos和windows采用回车+换行CR/LF表示下一行, 0d 0a 两个字节表示而UNIX/Linux采用’\n’换行符LF表示下一行(ASCII代码是10),0a一个字节表示MAC OS系统则采 ...
 - Extjs4.0.7 实现Grid的嵌套
			
网上相关资料非常少,我看过的大多是Extjs 3.0 急以前版本的解决方案. 比如:http://mikhailstadnik.com/ext/examples/nested-grid.htm (E ...
 - hdu 5187  高速幂高速乘法
			
http://acm.hdu.edu.cn/showproblem.php?pid=5187 Problem Description As one of the most powerful brush ...
 - 【前端攻略】:玩转图片Base64编码(转)
			
引言 图片处理在前端工作中可谓占据了很重要的一壁江山.而图片的Base64编码可能相对一些人而言比较陌生,本文不是从纯技术的角度去讨论图片的base64编码.标题略大,不过只是希望通过一些浅显的论述, ...
 - 杭州电 3711 Binary Number
			
Binary Number Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) To ...
 - 懒人模式Singleton模式Meyers版本号
			
直接看代码: /* Singleton模式保证:在一个程序,,一个类有且只有一个实例.并提供一个访问 它的全局访问点 在编程其中.很多情况下,需要确保有一类的一个实例 比如: windopws系统中仅 ...
 - java线程池的注意事项
			
java线程池是建立一个技术进步的线程.到来之前线程池打造一批在线程的线程尚未,队列上的备用,然后再利用这些资源.减少频繁创建和销毁对象, 1.jdk1.5以上提供了现成的线程池 2.java线程池的 ...
 - cocos2D(八)---- CCMenu && CCMenuItem
			
些菜单项让用户開始游戏.暂停\继续游戏.打开\关闭音乐或者是返回到上一个界面,比方以下两张图中用红色线框标记的菜单项 我们能够使用CCMenu和CCMenuItem实现上述的菜单功能,CCMe ...
 - 简单的反射 把datatable 转换成list对象
			
/// <summary> /// 把datatable 转换成list对象 /// </summary> /// <typeparam name="T&quo ...