All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0401_0500.s0416_partition_equal_subset_sum.solution.rb Maven / Gradle / Ivy

There is a newer version: 1.8
Show newest version
# #Medium #Top_100_Liked_Questions #Array #Dynamic_Programming #Level_2_Day_13_Dynamic_Programming
# #Big_O_Time_O(n*sums)_Space_O(n*sums) #2023_11_27_Time_1023_ms_(60.38%)_Space_212.3_MB_(88.68%)

# @param {Integer[]} nums
# @return {Boolean}
def can_partition(nums)
  sums = nums.sum
  return false if sums.odd?

  sums /= 2
  dp = Array.new(sums + 1, false)
  dp[0] = true

  nums.each do |num|
    sums.downto(num) do |sum|
      dp[sum] = dp[sum] || dp[sum - num]
    end
  end

  dp[sums]
end




© 2015 - 2025 Weber Informatics LLC | Privacy Policy