当前位置: 代码网 > it编程>编程语言>Java > JAVA利用顺序表实现“杨辉三角”的思路及代码示例

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

2025年01月09日 Java 我要评论
一:“杨辉三角”题目链接题目链接:点击这里二:题解代码: list<list<integer>> rang = new arraylist<

一:“杨辉三角”题目链接

题目链接:点击这里

二:题解代码:

    list<list<integer>> rang = new arraylist<list<integer>>();

        for(int i = 0; i < numrows ;i++) {
            list<integer> row = new arraylist<>();

            for(int j = 0 ; j < i + 1 ;j++) {
                if(j == 0 || j == i) {
                    row.add(1);
                } else {
                    int count = rang.get(i-1).get(j-1) + rang.get(i-1).get(j);
                    row.add(count);
                }
            }
            rang.add(row);
        }
        return rang;

三:题解思路:

1.首先,我们把杨辉三角换成直角三角形的形式看待:

行表示 i  ;列表示 j  ;可以发现:

第 i 行 有 i + 1 个列。

每一行的第一个和最后一个元素都是 1 。

而其他的第 i 行 第 j 列元素为 其 i - 1 行的第 j - 1 个 元素 +  其 i - 1 行的第 j 个 元素。

2.然后,我们可以把每一行当作一个 arraylist 顺序表,并且把这些 行 作为元素作为另一个         arraylist 二维顺序表,如图:

3. 先定义一个 二维顺序表 ,再通过一个for 循环 先找到需要的行的数量,在每一次循环定义一个一维顺序表 ,在通过一个for循环,由 第 i 行 有 i + 1 个列,得到每一行 的列数,再判断该列的位置,每一行的第一个和最后一个元素都是 1 ,就可以直接把 1 通过 add 方法添加到 一维顺序表中去,如果是其他的情况,则需要先得到该 行 的上一 行 ,通过 rang.get(i-1) 得到 上一行(也就是一个一维顺序表),再通过 rang.get(i-1).get(j-1) 得到上一行的 第 j - 1 位置的元素。右边的同理。        

得到的结果给到 变量count,再通过add方法给到一维顺序表中。 一次循环完成一个一位顺序表,通过  rang.add(row); 给到二维顺序表。

循环结束后返回。

总结

到此这篇关于java利用顺序表实现“杨辉三角”的思路及代码示例的文章就介绍到这了,更多相关java顺序表实现杨辉三角”内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

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

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com