สมมติว่าเรามีตัวเลข n เราต้องหาแถวที่ n (0 ดัชนี) ของสามเหลี่ยมปาสกาล อย่างที่เราทราบดีว่าสามเหลี่ยมของปาสกาลสามารถสร้างได้ดังนี้ -
- ในแถวบนสุด มีอาร์เรย์ 1
- แถวต่อมาสร้างโดยการเพิ่มตัวเลขด้านบนและด้านซ้ายโดยมีหมายเลขด้านบนและด้านขวา
มีแถวไม่กี่แถวดังนี้ −
ดังนั้น หากอินพุตเท่ากับ 4 เอาต์พุตจะเป็น [1, 4, 6, 4, 1]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้า n เหมือนกับ 0 แล้ว
- ส่งคืน [1]
- ถ้า n เหมือนกับ 1 แล้ว
- ส่งคืน [1,1]
- ls:=รายการที่มี [1,1], temp:=รายการที่มี [1,1]
- สำหรับ i ในช่วง 2 ถึง n+1 ให้ทำ
- ls:=อุณหภูมิ
- temp:=รายการที่มีค่าเดียว =1
- สำหรับฉันในช่วง 0 ถึงขนาด ls -1 ทำ
- รวม ls[i],ls[i+1] แล้วใส่เมื่อสิ้นสุดอุณหภูมิ
- ใส่ 1 เมื่อสิ้นสุดอุณหภูมิ
- อุณหภูมิกลับ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, n): if n==0: return [1] if n==1: return [1,1] ls=[1,1] temp=[1,1] for i in range(2,n+1): ls=temp temp=[1] for i in range(len(ls)-1): temp.append(ls[i]+ls[i+1]) temp.append(1) return temp ob = Solution() print(ob.solve(4))
อินพุต
4
ผลลัพธ์
[1, 4, 6, 4, 1]