প্যাসকেলের ত্রিভুজ হলো ত্রিভুজ আকারের একটি সংখ্যা প্যাটার্ন। গণিত ও পরিসংখ্যানে এর অনেক অ্যাপ্লিকেশন রয়েছে, যার মধ্যে কম্বিনেশন ক্যালকুলেট করা অন্যতম।
ত্রিভুজের প্রতিটি সংখ্যা তার উপরের দুটি সংখ্যার যোগফল। উদাহরণস্বরূপ, ৪র্থ রো - এটি উপরের রোয়ের ৩ এবং ৩ এর যোগফল। যেকোনো রোয়ের সবচেয়ে প্রথম এবং শেষ সংখ্যা সবসময় ১ হবে।
টাইম কমপ্লেক্সিটি − O(N)
স্পেস কমপ্লেক্সিটি − O(N)
উদাহরণ
public class Arrays{ public List<List<int>> GeneratePascal(int n){ List<List<int>> res = new List<List<int>>(); if (n <= 0){ return null; } List<int> first = new List<int>(); first.Add(1); res.Add(first); if (n == 1){ return res; } for (int i = 2; i < n; i++){ List<int> prev = res.LastOrDefault(); List<int> cur = new List<int>(); for (int temp = 0; temp < i; temp++){ cur.Add(1); } for (int j = 1; j < i - 1; j++){ cur[j] = prev[j - 1] + prev[j]; } res.Add(cur); } return res; } } static void Main(string[] args){ Arrays s = new Arrays(); var res = s.GeneratePascal(5); }আউটপুট
[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]