欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

杨辉三角面试题

程序员文章站 2024-02-21 12:21:04
...

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
杨辉三角面试题在杨辉三角中,每个数是它左上方和右上方的数的和。

示例:
输入: 3
输出: [1,3,3,1]

代码如下:

class Solution {
     public List<Integer> getRow(int rowIndex) {
        //定义了一个长度为rowIndex,高度为rowIndex的二维数组,数组中的值都为0;
        //由题意知,要+1
        List<Integer> list = new ArrayList();
        int[][] arr=new int[rowIndex+1][rowIndex+1];
        for(int i=0;i<arr.length; i++) {
            //由于只是给杨辉三角内的位置赋值,所以是j<=i
            for(int j=0;j<=i;j++) {
                //根据规律,使用if else 赋值
                if(j==0||j==i) {
                    arr[i][j]=1;
                }else {
                    arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
                }

            }
        }
        for (int i = 0; i < arr.length; i++) {
            list.add(arr[rowIndex][i]);
        }
        return list;
    }
}

杨辉三角面试题
解释:
(1)等边形状的杨辉三角
杨辉三角面试题
(2)直角形状的杨辉三角
杨辉三角面试题找出规律:
第n行有n个数字.
每一行的开始和结尾数字都为1.

用二维数组表示就是a[i][0]=1; a[i][j]=1(当i==j时);

第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字。

用二维数组表示就是 a[i+1][j]=a[i][j-1]+a[i][j];

上一篇: 全排列(dfs)

下一篇: 又是毕业季