เนื่องจากรายการจำนวนเต็มสองรายการที่ไม่ว่างเปล่าการส่งของคุณควรคำนวณและส่งกลับค่าการแยกแบบไม่ต่อเนื่องของทั้งสองรายการ ที่น่าสนใจถ้าคุณพิจารณาองค์ประกอบของรายการเป็นค่าสัมประสิทธิ์ของพหุนาม, การบิดของทั้งสองรายการแสดงถึงค่าสัมประสิทธิ์ของผลิตภัณฑ์ของพหุนามทั้งสอง
คำนิยาม
รับรายการA=[a(0),a(1),a(2),...,a(n)]
และB=[b(0),b(1),b(2),...,b(m)]
(การตั้งค่าa(k)=0 for k<0 and k>n
และb(k)=0 for k<0 and k>m
) จากนั้นสังวัตนาของทั้งสองจะถูกกำหนดเป็นA*B=[c(0),c(1),...,c(m+n)]
ที่ไหนc(k) = sum [ a(x)*b(y) for all integers x y such that x+y=k]
กฎระเบียบ
- อนุญาตการจัดรูปแบบอินพุตและเอาต์พุตที่สะดวกสำหรับภาษาของคุณ
- ไม่ควรใช้บิวด์อินเพื่อสร้างสัมพันธภาพการสร้างสัมพันธภาพร่วมสมัยและการคูณพหุนามจะไม่ได้รับอนุญาต
ตัวอย่าง
[1,1]*[1] = [1,1]
[1,1]*[1,1] = [1,2,1]
[1,1]*[1,2,1] = [1,3,3,1]
[1,1]*[1,3,3,1] = [1,4,6,4,1]
[1,1]*[1,4,6,4,1] = [1,5,10,10,5,1]
[1,-1]*[1,1,1,1,1] = [1,0,0,0,0,-1]
[80085,1337]*[-24319,406] = [-1947587115,7,542822]
[1,1]*[] = []
และไม่สามารถจับ[]*[] = ?
ได้ Convolution ไม่ได้ถูกนิยามไว้อย่างดีในรายการที่ว่างเปล่า ฉันคิดว่าคุณควรรับประกันว่ารายการอินพุตนั้นไม่ว่างเปล่า