杨辉三角(数据结构)

public List> generate(int numRows) {
        //定义一个二维数组
        List> ret = new ArrayList<>();

        List list = new ArrayList<>();
        //第一行
        list.add(1);
        ret.add(list);
        //每执行一次就是一行
        for(int i = 1; i < numRows; i++) {
            List curRow = new ArrayList<>();
            curRow.add(1);//每一行的第一个元素

            //处理中间的数
            List prevRow = ret.get(i-1);
            for(int j = 1; j < i; j++) {
                int x = prevRow.get(j) + prevRow.get(j - 1);
                curRow.add(x);
            }
            //最后一个元素
            curRow.add(1);

            ret.add(curRow);
        }
        return ret;

    }

你可能感兴趣的:(数据结构,windows,linux)