【Leetcode刷题篇】leetcode416 分割等和子集
发布日期:2021-06-29 15:34:50
浏览次数:4
分类:技术文章
本文共 882 字,大约阅读时间需要 2 分钟。
给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。
注意:
每个数组中的元素不会超过 100 数组的大小不会超过 200
示例 1:
输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1, 5, 5] 和 [11].
示例 2:
输入: [1, 2, 3, 5] 输出: false 解释: 数组不能分割成两个元素和相等的子集.
解题思路:可看成背包问题,属于背包问题里面的0-1背包问题。
class Solution { public boolean canPartition(int[] nums) { // 动态规划解题 背包问题- 01背包问题 恰好问题 // 先判断构不构成 int sum = 0; for(int num:nums) { sum += num; } if(sum%2==1) { return false; } // 目标值 int target = sum/2; int length = nums.length; // 动态规划 boolean[][] dp = new boolean[length+1][target+1]; // 初始化 for(int i=0;i=0) { // 能放 当前数nums[i-1] dp[i][j] = dp[i-1][j] || dp[i-1][j-nums[i-1]]; }else { // 没容量 dp[i][j] = dp[i-1][j]; } } } return dp[length][target]; }}
转载地址:https://codingchaozhang.blog.csdn.net/article/details/110927427 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月18日 00时34分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于nuxt下asyncData,fetch发送axios请求(四)
2019-04-29
插件机制+自定义axios(五)
2019-04-29
Redis的学习之路
2019-04-29
Windows下Redies+GUI安装,使用Jedis与spring boot 整合
2019-04-29
Windows创建本地版本库(1)
2019-04-29
基于java的酒店管理系统的设计与实现
2019-04-29
基于WEB的仓库管理系统的设计与实现
2019-04-29
基于java的web聊天系统
2019-04-29
基于java的俄罗斯方块的设计与实现
2019-04-29
基于java的魂斗罗的设计
2019-04-29
基于java的网页内容管理
2019-04-29
基于java的学生管理系统
2019-04-29
基于java网盘搜索的设计与实现
2019-04-29
基于SSM的仿小米商城源码
2019-04-29
基于SSM的医院人事管理系统的设计与实现
2019-04-29
基于SSM的网上购物系统的设计与开发
2019-04-29
基于SSM框架的BS微博系统的设计与实现
2019-04-29
超市订单管理系统
2019-04-29
基于ssm的民宿网站
2019-04-29