[LeetCode]Partition Equal Subset Sum(Java)

来源:互联网 发布:三国杀纸牌淘宝 编辑:程序博客网 时间:2024/05/04 16:28

又是一道穷举改动态规划的题,根据今天的面试结果我决心把动态规划练得炉火纯青!

public class Solution {    public boolean canPartition(int[] nums) {        // check edge case        if (nums == null || nums.length == 0) {            return true;        }        // preprocess        int volumn = 0;        for (int num : nums) {            volumn += num;        }        if (volumn % 2 != 0) {            return false;        }        volumn /= 2;        // dp def        boolean[] dp = new boolean[volumn + 1];        // dp init        dp[0] = true;        // dp transition        for (int i = 1; i <= nums.length; i++) {            for (int j = volumn; j >= nums[i-1]; j--) {                dp[j] = dp[j] || dp[j - nums[i-1]];            }        }        return dp[volumn];    }}
2017/03/21

纪念刚面完微信虐心中

0 0
原创粉丝点击