class Solution:
def findTargetSumWays(self, arr: List[int], target: int) -> int:
dppos = []
for i in range(2001):
k = []
for i in range(len(arr) + 1):
k.append(-1)
dppos.append(k)
def trav(s, j):
if s == target and j == len(arr):
return 1
if j == len(arr):
return 0
if dppos[s + 1000][j] != -1:
return dppos[s + 1000][j]
dppos[s + 1000][j] = 0
dppos[s + 1000][j] += trav(s + arr[j], j+1)
dppos[s + 1000][j] += trav(s - arr[j] , j+1)
return dppos[s + 1000][j]
return trav(0, 0)
1726H - Mainak and the Bleeding Polygon | 722A - Broken Clock |
129B - Students and Shoelaces | 697B - Barnicle |
903D - Almost Difference | 1443B - Saving the City |
1215C - Swap Letters | 1251C - Minimize The Integer |
1494B - Berland Crossword | 295A - Greg and Array |
1433E - Two Round Dances | 1612D - X-Magic Pair |
41B - Martian Dollar | 906C - Party |
774F - Pens And Days Of Week | 598B - Queries on a String |
1303B - National Project | 1303D - Fill The Bag |
1198B - Welfare State | 1739B - Array Recovery |
1739C - Card Game | 1739A - Immobile Knight |
1739D - Reset K Edges | 817B - Makes And The Product |
1452C - Two Brackets | 400B - Inna and New Matrix of Candies |
870B - Maximum of Maximums of Minimums | 1600E - Array Game |
1149A - Prefix Sum Primes | 277A - Learning Languages |