神厨小福贵! 2021-10-13 18:39 采纳率: 100%
浏览 13
已结题

arr[j] = arr[j] + arr[j - 1];这行代码在一维数组的杨辉三角中怎么执行的

arr[j] = arr[j] + arr[j - 1];这行代码在一维数组的杨辉三角中怎么执行的

  • 写回答

1条回答 默认 最新

  • 信仰869 2021-10-13 19:25
    关注

    因为是对称的,所以从中间开始取(并没有创建新数组,而是在arr上变化)

    for(int i=0;i<rowIndex+1;i++)  //rowindex为行数
            {
                for(int j=i/2;j>-1;j--)
                {
                    if(j==0)
                        vec[j]=vec[i]=1;
                    else
                        vec[j]=vec[i-j]=vec[j-1]+vec[j];
                }
            }
    
    

    {1,3,3,1}
    i为4
    arr[2]=arr[2]=arr[2]+arr[1];
    {1,3,6,1}
    arr[1]=arr[3]arr[1]+arr[0];
    {1,4,6,4}
    arr[0]=arr[4]=1
    {1,4,6,4,1}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月13日