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

2025-01-09 04:50

本文主要是介绍JAVA利用顺序表实现“杨辉三角”的思路及代码示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思...

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

题目链接:点击这里

二:题解代码:

    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(coun编程t);
                }
     ZTktwpGAPY       }
            Rang.add(row);
        }
        return Rang;

三:题解思路:

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

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

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

第 i 行 有 i + 1 个列。

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

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

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

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

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顺序表实现杨辉三角”内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于JAVA利用顺序表实现“杨辉三角”的思路及代码示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1152989

相关文章

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

Spring-AOP-ProceedingJoinPoint的使用详解

《Spring-AOP-ProceedingJoinPoint的使用详解》:本文主要介绍Spring-AOP-ProceedingJoinPoint的使用方式,具有很好的参考价值,希望对大家有所帮... 目录ProceedingJoinPoijsnt简介获取环绕通知方法的相关信息1.proceed()2.g

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Spring MVC跨域问题及解决

《SpringMVC跨域问题及解决》:本文主要介绍SpringMVC跨域问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录跨域问题不同的域同源策略解决方法1.CORS2.jsONP3.局部解决方案4.全局解决方法总结跨域问题不同的域协议、域名、端口

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

SpringBoot操作MaxComputer方式(保姆级教程)

《SpringBoot操作MaxComputer方式(保姆级教程)》:本文主要介绍SpringBoot操作MaxComputer方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录引言uqNqjoe一、引入依赖二、配置文件 application.properties(信息用自己

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v