LeetCode——Pascal's Triangle

LeetCode——Pascal's Triangle

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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;
	}


版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117470.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 树莓派3b入门指南「建议收藏」

    树莓派3b入门指南「建议收藏」近日,入手了树莓派3b,准备把它当一台防火墙用,配置如下:我买的套装是最简版的,只有一个电源线、一个塑料外壳,一个8GSD卡,几个散热片。捣鼓了几天,网上搜索了一些资料,在此记录下详细的过程,方便之后入手的朋友。一.烧写树莓派镜像(需要一个SD卡读写器)1.进入官网https://www.raspberrypi.org/downloads/下载页面,选择“RASP…

    2022年6月25日
    54
  • position属性值有哪些_静态web和动态web的区别

    position属性值有哪些_静态web和动态web的区别1:static静态定位,是默认值,当代码使用top,left.等,无效2:absolute绝对定位,相对于父元素进行定位,元素通过top,right,left等进行定位3:fixed

    2022年8月1日
    6
  • idea 2021.03激活码【在线注册码/序列号/破解码】

    idea 2021.03激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    60
  • all in all是什么意思啊_22449.1000安装失败

    all in all是什么意思啊_22449.1000安装失败apache 无法启动 (98)Address already in use: AH00072 make_sock: could not bind to address 0.0.0.0:80…

    2022年4月20日
    52
  • Linux 操作系统基础知识总结

    Linux 操作系统基础知识总结1、操作系统总体介绍CPU:就像人的大脑,主要负责相关事情的判断以及实际处理的机制。查询指令:cat/proc/cpuinfo内存:大脑中的记忆区块,将皮肤、眼睛等所收集到的信息记录起来的地方,以供CPU进行判断。查询指令:cat/proc/meminfo1)物理内存物理内存,就是我们将内存条插在主板内存槽上的内存条的容量的大小。看计算机配置的时候,主要看的就是这个物理内存2)虚拟内存Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会

    2025年6月26日
    6
  • Pytorch的BatchNorm层使用中容易出现的问题

    Pytorch的BatchNorm层使用中容易出现的问题前言:本文主要介绍在pytorch中的BatchNormalization的使用以及在其中容易出现的各种小问题,本来此文应该归属于[1]中的,但是考虑到此文的篇幅可能会比较大,因此独立成篇,希望能够帮助到各位读者。如有谬误,请联系指出,如需转载,请注明出处,谢谢。∇\nabla∇联系方式:e-mail:FesianXu@163.comQQ:973926198github:htt…

    2022年4月28日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号