import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型 * @return int整型一维数组 */ public int[] getRow (int num) { // 创建一个一维数组来存储当前行 int[] currentRow = new int[num + 1]; // 杨辉三角的每一行的第一个和最后一个元素都是1 currentRow[0] = 1; // 从第二行开始(索引为1),因为第一行已经初始化为1 for (int i = 1; i <= num; i++) { // 每行的最后一个元素也是1(对于i > 0) currentRow[i] = 1; // 计算中间元素,从后往前更新,避免覆盖还未使用的值 for (int j = i - 1; j > 0; j--) { // 当前元素是上一行相邻两个元素之和 int temp = currentRow[j]; // 保存当前j位置的值 currentRow[j] = currentRow[j - 1] + temp; // 更新当前j位置的值 // 注意:这里不需要再设置currentRow[j-1],因为它已经在上一轮循环中计算过了 } // 注意:这里不需要再次设置currentRow[0],因为它在每次外部循环开始时都是正确的(即1) } // 返回构建好的当前行 return currentRow; } }