以下是使用 Java 编程语言实现的代码,根据索引取杨辉三角对应值:

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

public class Solution {
    public int getValue(int[] rows) {
        int rowIndex = rows[0] - 1;
        int colIndex = rows[1] - 1;

        List<List<Integer>> triangle = generateTriangle(rowIndex + 1);

        return triangle.get(rowIndex).get(colIndex);
    }

    public List<List<Integer>> generateTriangle(int numRows) {
        List<List<Integer>> triangle = new ArrayList<>();

        if (numRows <= 0) {
            return triangle;
        }

        // 第一行
        List<Integer> firstRow = new ArrayList<>();
        firstRow.add(1);
        triangle.add(firstRow);

        for (int i = 1; i < numRows; i++) {
            List<Integer> prevRow = triangle.get(i - 1);
            List<Integer> row = new ArrayList<>();

            // 该行的第一个元素
            row.add(1);

            for (int j = 1; j < i; j++) {
                // 计算当前位置的值,即上一行对应位置与前一位置的和
                int value = prevRow.get(j - 1) + prevRow.get(j);
                row.add(value);
            }

            // 该行的最后一个元素
            row.add(1);

            // 将该行加入三角形列表
            triangle.add(row);
        }

        return triangle;
    }

    public static void main(String[] args) {
        int[] rows = {7, 4};

        Solution solution = new Solution();
        int pascalValue = solution.getValue(rows);
        System.out.println('索引为 (' + rows[0] + ', ' + rows[1] + ') 的值为:' + pascalValue);
    }
}

在上述代码中,我们定义了一个 Solution 类,其中包含了 getValuegenerateTriangle 两个方法。

getValue 方法接收一个整型数组 rows,数组的第一个元素表示所在行索引,第二个元素表示所在列索引。我们首先通过 rows 数组计算出所在行和列的索引。然后,通过调用 generateTriangle 方法生成指定行数的杨辉三角,并将结果存储在 triangle 列表中。最后,根据所在行和列的索引,访问 triangle 列表中对应位置的值并返回。

generateTriangle 方法和之前的实现一样,用于生成指定行数的杨辉三角。我们首先创建一个空的 triangle 列表。然后,按照杨辉三角的规则逐行计算元素,并将每一行存储在 triangle 列表中。最后,返回 triangle 列表。

main 方法中,我们设置了要获取值的索引 rows,然后创建 Solution 类的实例,并调用 getValue 方法获取对应位置的值,并打印输出。

运行代码,将会输出:索引为 (7, 4) 的值为:35,即杨辉三角中第 7 行第 4 列的值为 35。

Java 实现杨辉三角索引值获取

原文地址: http://www.cveoy.top/t/topic/ZRC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录