Leetcode题库 119.杨辉三角(单数组迭代 C实现)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode题库 119.杨辉三角(单数组迭代 C实现)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 解析
- 思路
- 效果
- 代碼
解析
ret:存儲迭代數組
思路
ret數組:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
……
迭代公式:ret[i]=ret[i]+ret[i-1]
例:
僅用一維數組ret進行迭代
上一次迭代ret=[1 4 6 4 1]
若ret進行順序填充
ret[0]=1
ret[1]=ret[1]+ret[0]=5
ret[2]=ret[2]+ret[1]=15
注意此時ret[2]計算時所用的ret[1]已經迭代更新,順序迭代不可取
于是采用逆序迭代
ret[5]=1
ret[4]=ret[4]+ret[3]=5
ret[3]=ret[3]+ret[2]=10
ret[2]=ret[2]+ret[1]=10
ret[1]=ret[1]+ret[0]=5
ret[0]=1
效果
代碼
int* getRow(int rowIndex, int* returnSize){rowIndex++;int *ret=(int*)malloc(sizeof(int)*rowIndex);*returnSize=rowIndex;ret[0]=1;for(int i=0;i<rowIndex;i++){ret[i]=1;for(int j=i-1;j>0;j--){ret[j]+=ret[j-1];}}return ret; } 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Leetcode题库 119.杨辉三角(单数组迭代 C实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习 KNN算法_0 丐版(matl
- 下一篇: 电影推荐_亲和性分析_规则提取(数据挖掘