给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

该题还是考杨辉三角计算,只不过最后每一行都放入List集合中,然后返回,直接看代码:

public static List<List<Integer>> generate(int row){
        List<List<Integer>> list = new ArrayList<List<Integer>>();
        int[][] arr = new int[row][row];
        for(int j = 0;j<row;j++) {
            List<Integer> l = new ArrayList<Integer>();
            for(int k = 0;k<=j;k++) {
                if(k == 0 || j == k) {
                    arr[j][k] = 1;
                }else {
                    arr[j][k] = arr[j - 1][k] + arr[j - 1][k - 1];
                }
                l.add(arr[j][k]);
            }
            list.add(l);
        }
        return list;
}

原文地址:https://www.cnblogs.com/duy666/p/10457959.html

时间: 2024-11-04 20:56:06

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。的相关文章

编程输出杨辉三角的前10行---多维数组的应用---java实现

import java.util.Scanner;public class yanghui{ public static void main(String[] args){  Scanner sc=new Scanner(System.in);  System.out.println("\nPlease enter the number of Yang Hui triangle rows:");  int n=sc.nextInt();  int [][]a=new int [n][]

算法练习之杨辉三角,杨辉三角的第 k 行

1. 杨辉三角 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] java class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> rs = n

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。

从第0行开始,输出第k行,传的参数为第几行,所以在方法中先将所传参数加1,然后将最后一行加入集合中返回. 代码如下: public static List<Integer> generateII(int row){ ++row; List<Integer> list = new ArrayList<Integer>(); int[][] arr = new int[row][row]; for(int j = 0;j<row;j++) { for(int k =

杨辉三角的第 n 行

因为每一行都是根据其上一行推出来的,所以说我只需要上一行的信息. vector<int> getRow(int rowIndex) { if (rowIndex < 0){ return vector<int>(); } vector<int> result(rowIndex + 1); result[0] = 1; result[rowIndex] = 1; for (int row = 0; row < rowIndex; ++row){ auto la

Leecode刷题之旅-C语言/python-118杨辉三角

/* * @lc app=leetcode.cn id=118 lang=c * * [118] 杨辉三角 * * https://leetcode-cn.com/problems/pascals-triangle/description/ * * algorithms * Easy (60.22%) * Total Accepted: 17.6K * Total Submissions: 29.2K * Testcase Example: '5' * * 给定一个非负整数 numRows,生成

一、数组---杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]] 思路 每行首尾都是1,可以先先初始化每行全是1,再计算修改 代码: 1 class Solution { 2 public: 3 vector<vector<int>> generate(int numRows) { 4 //先定义一个空数组,

C语言118. 杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]] 下面是我的常规解法:没有用到指针,但是力扣上的返回类型是这样的 :int** generate(int numRows, int* returnSize, int** returnColumnSizes) #include <stdio.h>int mai

118. 杨辉三角

118. 杨辉三角 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] class Solution { public List<List<Integer>> generate(int row) { List<List<Integer>> lists = new L

Java的二维数组的应用及杨辉三角的编写

(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个,即该位置上的元素在该行上最大,在该列上最小(注:一个二维数组也可能没有这样的鞍点). /** * * @author liuhui *@version Java上机实验三 *@time 2016.10.30 */ public class javatest2 { public static int