Java算法_ 杨辉三角(LeetCode_Hot100)

这篇具有很好参考价值的文章主要介绍了Java算法_ 杨辉三角(LeetCode_Hot100)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述:题目描述:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。

获得更多?算法思路:代码文档,算法解析的私得。

运行效果
Java算法_ 杨辉三角(LeetCode_Hot100),java算法,算法,java,leetcode

完整代码文章来源地址https://www.toymoban.com/news/detail-639384.html

import java.util.ArrayList;
import java.util.List;

/**
 * 2 * @Author: LJJ
 * 3 * @Date: 2023/8/9 16:52
 * 4
 */
public class PascalTriangle {

    public List<List<Integer>> generate(int numRows){
        List<List<Integer>> triangle = new ArrayList<>();   // 用于存储生成的杨辉三角

        for (int i = 0; i < numRows; i++){
            List<Integer> row = new ArrayList<>();      // 当前行的列表
            for (int j = 0; j<=i; j++){
                if ( j == 0 || j == i){
                    row.add(1);     // 当前行的首尾元素都是1
                }else {
                    // 当前位置的元素是上一行对应位置和前一个位置的元素之和
                    int value = triangle.get(i - 1).get(j - 1) + triangle.get(i - 1).get(j);
                    row.add(value);
                }
            }
            triangle.add(row); // 将当前行添加到杨辉三角列表中
        }
        return triangle;
    }

    public static void main(String[] args) {
        PascalTriangle pascalTriangle = new PascalTriangle();
        int numRows = 5;
        List<List<Integer>> triangle = pascalTriangle.generate(numRows);

        // 计算每行的最大宽度
        int maxWidth = numRows * 3 - 1;

        for (List<Integer> row : triangle) {
            int padding = (maxWidth - row.size() * 3) / 2;
            // 打印前置空格
            for (int i = 0; i < padding; i++) {
                System.out.print(" ");
            }
            // 打印每个数字
            for (int num : row) {
                System.out.printf("%3d", num);
            }
            // 打印后置空格
            for (int i = 0; i < padding; i++) {
                System.out.print(" ");
            }
            System.out.println();
        }
    }

}

到了这里,关于Java算法_ 杨辉三角(LeetCode_Hot100)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【LeetCode】探索杨辉三角模型

    力扣原题 首先我们要来了解一下题目本身在说些什么,通过下方的动图我们可以更加清楚地看到杨辉三角是怎样一步步生成的。 给到的示例中我们通过输入杨辉三角的行数,然后通过计算得到这个杨辉三角的每一行是什么具体的数值 首先我们要做的第一件事就是去选择正确

    2024年02月14日
    浏览(35)
  • leetcode | 杨辉三角 | 电话号码配对

       电话号码的字母组合 杨辉三角                                                                                                                                                                                                                   

    2024年02月22日
    浏览(39)
  • leetcode--杨辉三角(C、C++)

    2024年02月15日
    浏览(40)
  • ***杨辉三角_yyds_LeetCode_python***

    给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows = 1 输出: [[1]] 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/pasc

    2024年02月08日
    浏览(42)
  • Java算法_ 验证二叉搜索树(LeetCode_Hot100)

    题目描述: 给你一个二叉树的根节点 ,判断其是否是一个有效的二叉搜索树。root 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 获得更多?算法思路:代码文

    2024年02月12日
    浏览(39)
  • 杨辉三角(Java)

     实现思路:我们可以先把杨辉三角想象成一个空的二维数组,然后再给它赋值输出即可。 关键在于如何赋值:仔细观察上图可以得出除了 每一行第一个数以及最后一个数(都是1) , 中间的数字规律就是: a[ i ][ j ] = a[ i - 1 ][ j - 1 ] + a[ i - 1 ][ j ] 实现代码: 相信大家更多的

    2024年02月08日
    浏览(35)
  • 【数据结构与算法】杨辉三角,相同字符的截取以及扑克牌

    ✨个人主页:bit me ✨当前专栏:数据结构 ✨每日一语:不要等到了你的人生垂暮,才想起俯拾朝花,且行且珍惜。 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,1

    2024年02月03日
    浏览(43)
  • 算法详解:杨辉三角 | 合并俩个有序数组 | 删除有序数组中的重复项

    前言:本次分享题目全部来自力扣网,大家可以自行选择挑战,详细链接: 118. 杨辉三角 - 力扣(LeetCode) 88. 合并两个有序数组 - 力扣(LeetCode) 26. 删除有序数组中的重复项 - 力扣(LeetCode) 目录 一.杨辉三角 思路: 完整代码: 二.合并俩个有序数组 思路: 完整代码: 三

    2024年02月05日
    浏览(46)
  • 郑州轻工业大学-程序设计技术(Java)-PTA实验1(7-5)-打印杨辉三角

    本段代码知识点在于对 for循环的应用 以及 二维数组的使用 ,同时将 if/else语句 嵌套在for循环中,并且在输出阶段对 格式 进行了规范,以下是详解: 1. for循环 在Java语言中,有三种循环语句,分别是for语句,while语句以及do-while语句,其中for语句的使用在代码编写的过程中最

    2024年04月08日
    浏览(47)
  • 打印杨辉三角

    这个公式,不好算,我觉得还是杨辉三角算起来方便:c#代码如下:    double 打印杨辉三角(int n)//n必须是偶数,展开项是n+1,中间项是n/2,此处返回中间项的概率202306131722         {             //for (int i = 0; i n; i++)             //{             //    //这种方法直接算,使

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包