如何创建具有不同线长的二维数组倒计时?

How to create a 2D Array countdown with different line length?

我在理解以下任务时遇到了一点问题。 我应该像这样创建一个二维数组:

n = 4

-->

[4,4,4,4]

[3,3,3]

[2,2]

[1]

我只需要提示如何创建具有不同线长的二维数组,这样我就可以 return 在方法中使用它:

static int[][] arrayCountDown(int n) {...}
    static int[][] arrayCountDown(int n){

        int[][] array = new int[n][];
        for( int i=0;i<n;i++){
            array[i] = new int[n-i];
            for(int j=0;j<n-i;j++){
                array[i][j] = n-i;

            }

        }
       return array;
    }

如果有n个级别,那么总共有n*(n+1)/2个元素。不过没关系,随便填就可以了

C# 世界中,解决方案是:

static int[][] arrayCountDown(int n) 
{
    var array = new int[n][];
    for(int i=0; i<n; i++)
    {
         int num = n-i;
         int[] row = new int[num];
         for(int k=0; k<num; k++)
         {
             row[k] = num;
         }
         array[i] = row;
    }
    return array;
}