Pascal's Triangle
来自 <https://leetcode.com/problems/pascals-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]
]
题目解读:
杨辉三角问题,指的是三角形的顶层是1,每一层最两侧的元素也是1,其余元素是其上方两个数之和。给定行数numsRows.在list中存储相应的杨辉三角的值。
解析:
此题目主要是找当前元素其上方两个元素的标号。在List中可以直接使用get(j+1)和get(j)来获取当前元素i其上方的两个元素值。
Java代码:
public static List<List<Integer>> generate(int numRows) { List<List<Integer>> result = new ArrayList<List<Integer>>(); /** * 用于记录前一行元素 */ ArrayList<Integer> previousLevel = null; /** * 用于记录当前行元素 */ ArrayList<Integer> currentLevel = null; for (int i=0; i<numRows; i++) { if(i==0) { currentLevel = new ArrayList<Integer>(); currentLevel.add(1); } else { previousLevel = (ArrayList<Integer>)result.get(i-1); currentLevel = new ArrayList<Integer>(); /** * 在每一行的开始加入1 */ currentLevel.add(1); for(int j=0; j<i-1; j++) { currentLevel.add(previousLevel.get(j) + previousLevel.get(j+1)); } /** * 每行结束后加入最后一个元素1 */ currentLevel.add(1); } result.add(currentLevel); } return result; }
算法性能:
相关推荐
javascript js_leetcode题解之118-pascal's-triangle.js
python python_leetcode题解之118_Pascal's_Triangle
javascript js_leetcode题解之119-pascal's-triangle-II.js
python python_leetcode题解之119_Pascal's_Triangle_II
**杨辉三角(Pascal's Triangle)**是数学中的一种经典图案,每一行都是一个等差数列的和,其中每个数都是它正上方两个数的和。它在组合数学、概率论和计算机科学中都有重要应用。例如,二项式系数、帕斯卡定律以及...
leetcode-js Leecode 经典题目 JavaScript TypeScript 题解。 Leetcode's answers by JavaScript and TypeScript. easy ...118.杨辉三角 (Pascal's Triangle) 119.杨辉三角 II (Pascal's Triangle)
Pascal's Triangle easy O O 119 Pascal's Triangle II easy O 要满足只用一个array大小空间O(k) k为input大小来完成,须具备backtracking概念 151 Reverse Words in a String medium O 这题有点算是easy的程度, ...
2.使用数组作为带符号的缓冲区118.Pascal's Triangle -> 理解结构并做167 Two Sum II - 输入数组已排序:使用排序数组的条件,使用前后两个指针35.Search Insert Position -> 线性搜索/二分搜索(左右各有1个间隙) ...
# [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...
“杨辉三角”(Pascal's Triangle)是数学中的一个重要概念,它的每一行都是一个等差数列的和,而且每个数字都是它正上方两个数字的和。在Python中实现杨辉三角,可以锻炼我们对数组处理、迭代以及数学逻辑的理解。 ...
Pascal's Triangle #0121 - Best Time to Buy and Sell Stock #0125 - Valid Palindrome #0136 - Single Number #0167 - Two Sum - Input Array is sorted #0189 - Rotate Array #0217 - Contains Duplicate #0242 -...
Pascal's Triangle Given two sorted integer arrays A and B, merge B into A as one sorted array.Note: You may assume that A has enough space (size that is greater or equal to m + n)to hold additional ...
这段代码展示了如何用Java编程语言有效地解决LeetCode上的Pascal's Triangle问题。它利用了杨辉三角的递归性质,通过迭代而非递归的方式降低了复杂性,使得算法的效率更高。同时,代码结构清晰,易于理解,是学习...
Pascal's Triangle (杨辉三角) 124 二叉树最大路径和 136 x ^ x = 0 169 Majority Vote Algorithm (最大投票数算法) 240 检索二阶矩阵 189 数组操作的时间复杂度比较 206 反转单向链表 226 反转二叉树 459 重复子...
- **Pascal's Triangle**:生成帕斯卡三角形的某一行。 - **Merge Sorted Array**:合并两个已排序的数组,使合并后的数组仍然有序。 - **Sum**:计算数组的总和。 - **Find Minimum in Rotated Sorted Array**...
118_Pascal's_Triangle_I 119_Pascal's_Triangle_II 169_Majority_Element 229_Majority_Element_II 274_H_索引 275_H_Index_II 217_Contain_Duplicate 55_Jump_Game 45_Jump_Game_II 121_Best_Time_to_Buy_and_Sell...
Pascal's Triangle v. Merge Sorted Array vi. Sum vii. Find Minimum in Rotated Sorted Array viii. Largest Rectangle in Histogram ix. Maximal Rectangle x. Palindrome Number xi. Search a 2D Matrix xii. ...
* Pascal's Triangle:给定一个整数 n,返回帕斯卡三角形的前 n 行。这个题目需要使用动态规划的思想,首先初始化一个二维数组,然后遍历数组,并将每个元素设置为其左上和右上的和。 * Merge Sorted Array:给定两...
leetcode添加元素使和等于 Leetcode Part1 共55道 1 plusOne easy 描述:用一组数据表示一个整数,实现整数加一的操作 主要思路:主要考虑最高位进位的情况,可以创建一个长度加一的...Pascal's Triangle II easy 描
- **杨辉三角(Pascal's Triangle)**: 给定一个非负整数`numRows`,生成杨辉三角的前`numRows`行。 - **合并两个有序数组(Merge Sorted Array)**: 将两个已排序的整数数组合并成一个新的已排序数组。 - **数组之和...