비어 있지 않은 두 개의 정수 목록이 주어지면 제출물이 두 개의 이산 컨벌루션 을 계산하고 반환해야합니다 . 흥미롭게도리스트 요소를 다항식의 계수로 간주하면 두리스트의 컨볼 루션은 두 다항식의 곱의 계수를 나타냅니다.
정의
리스트 감안 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]*[] = []
못할 수도 있습니다[]*[] = ?
. 빈 목록에 컨볼 루션이 잘 정의되어 있지 않습니다. 입력 목록이 비어 있지 않다고 보장해야한다고 생각합니다.