程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> LeetCode -- Pascal's Triangle II

LeetCode -- Pascal's Triangle II

編輯:C++入門知識

LeetCode -- Pascal's Triangle II


題目描述:
Given an index k, return the kth row of the Pascal's triangle.


For example, given k = 3,
Return [1,3,3,1].


返回一個帕斯卡三角形的第n行。


思路:
本題的實現比較直接,只要了解帕斯卡三角形的構成就可以實現了。
1.初始化nums為{1,1},對應的行為1。
2.對於i∈[1,rowIndex):
首位和末尾添加1;相鄰項(nums[i],nums[i+1])相加構成nums[i]的新值。




實現代碼:





public class Solution {
    public IList GetRow(int rowIndex) 
    {
        if(rowIndex == 0){
    		return new List(){1};
    	}
    	if(rowIndex == 1){
    		return new List(){1,1};
    	}
    	
    	var list = new List(){1,1};
    	for(var i = 1;i < rowIndex; i++){
    		var r = new List();
    		r.Add(1);
    		for(var j = 0;j < list.Count - 1; j++){
    			r.Add(list[j] + list[j+1]);
    		}
    		r.Add(1);
    		
    		list = r;
    	}
    	
    	return list;    
    }
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved