Partition Equal Subset Sum (Leetcode 416)
Problem Link: https://leetcode.com/problems/partition-equal-subset-sum/
class Solution:
def canPartition(self, nums: List[int]) -> bool:
n=len(nums)
s=sum(nums)
if(s%2!=0):
return False
s=s//2
dp=[[0 for i in range(s+1)] for j in range(n+1)]
for i in range(n+1):
for j in range(s+1):
if(i==0):
dp[i][j]=False
if(j==0):
dp[i][j]=True
else:
if(nums[i-1]<=j):
inc=dp[i-1][j-nums[i-1]]
exc=dp[i-1][j]
dp[i][j]=(inc or exc)
else:
exc=dp[i-1][j]
dp[i][j]=exc
return dp[n][s]
Last updated