首页 > 编程语言 >42天【代码随想录算法训练营34期】第九章 动态规划part04(● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集 )

42天【代码随想录算法训练营34期】第九章 动态规划part04(● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集 )

时间:2024-05-14 10:52:04浏览次数:27  
标签:11 01 num target sum 随想录 背包 dp

**416. 分割等和子集 **

class Solution:
    def canPartition(self, nums: List[int]) -> bool:
        _sum = 0
        dp = [0]*10001
        for num in nums:
            _sum += num
        
        if _sum % 2 == 1:
            return false
        target = _sum // 2
        #target = 11

        for num in nums:
            #1, 5, 11, 5
            for j in range(target, num-1, -1):
                dp[j] = max(dp[j], dp[j-num] + num)
                # 11, 0, -1 【1,1,1,1,1,..., 1,1】
                # 11, 4, -1 [1, 1, 1, 1, 1, 5, 6, ...., 6]
                # 11, 10, -1
                # 11, 4, -1 [...11]
                # 每个背包最多能承多少                
        
        if dp[target] == target:
            return True
        return False

标签:11,01,num,target,sum,随想录,背包,dp
From: https://www.cnblogs.com/miramira/p/18190860

相关文章

  • Nginx-01-为什么使用 Nginx? nginx 的优缺点
    为什么要选择nginx,和其他常见的负载均衡库对比有什么优缺点?选择Nginx作为负载均衡器有很多原因,主要包括其性能、灵活性和广泛的功能。Nginx的优点高性能和低资源占用:Nginx以其高性能和低资源占用著称。它可以处理大量的并发连接,适用于高流量网站。灵活的配置:Ngi......
  • N1CTF2018 shopping:多线程堆题中堆溢出的应用
    介绍一种在多线程堆题中利用堆溢出达成任意地址分配的手法。我们知道,一个进程的主线程的堆管理main_arena在libc中,分配的chunk在堆段中。那么子线程的arena和堆块都在哪里呢?这一大串在libc前面一点点的anon就是给子线程留的arena和堆空间。arena和tcache管理chunk在这个内存段......
  • Nginx-01-聊一聊 nginx
    nginx系列Nginx-01-聊一聊nginxNginx-01-Nginx是什么Nginx-02-为什么使用NginxNginx-02-NginxUbuntu安装+windows10+WSLubuntu安装nginx实战笔记Nginx-02-基本使用Nginx-03-Nginx项目架构Nginx-04-DockerNginxNginx-05-nginx反向代理是什么?windows下如......
  • 代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集、 202.
    哈希表理论基础建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set和map。什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。这句话很重要,大家在做哈希表题目都要思考这句话。文章讲解:https://program......
  • 洛谷P3556 [POI2013] MOR-Tales of seafaring的三种解法
    本题模板为奇偶最短路(边权为1时的),题目链接:https://www.luogu.com.cn/problem/P3556为了研究,码了三种不同最短路解放的奇偶做法,便于不同群体理解.一:BFS,对于边权为1,求最短路当然是BFS最快了,时间复杂度:o(nm),代码如下:点击查看代码//背景:我的BFS奇偶最短路尝试//思......
  • Java-SSM-Day01 Maven实战案例:构建微服务Maven工程架构
    1.项目需求与结构分析:  需求案例:搭建一个电商平台项目,该平台包括用户服务、订单服务、通用工具模块等。项目架构:1.用户服务:负责处理用户相关的逻辑,例如用户信息的管理、用户注册、登录等。2.订单服务:负责处理订单相关的逻辑,例如订单的创建、订单支付、退货、订单查......
  • Testing Egineer note:2024_5_13-day08-part01
    肖SIR__数据库之搭建__11.2数据库之搭建1、rpm-qa|grep服务名称案例:rpm-qa|grepmysql2、将所有msyql的包删除干净删除方法:(1)yumremovemysql*删除linux中的数据库(2)yumerase包名,删除linux中的数据库(3)rpm-e--nodeps包名删除linux中的数据......
  • Java-SSM-Day01 Maven理论
    一、Maven的入门进阶1.1什么是Maven:掌控软件安装配置以及项目构建依赖管理的软件。1.3选用Maven-3.6.3 二、基于IDEA的Maven工程创建2.1梳理Maven工程GAVP属性:GroupId、ArtifactId、Version、PackagingGroupId格式:com.mingxi.业务线.子业务线ex:com.......
  • 代码随想录算法训练营day06 | 242.有效字母异位词
    242.有效的字母异位词题目链接文章讲解视频讲解时间复杂度o(n)空间复杂度o(n)classSolution{public:boolisAnagram(strings,stringt){unordered_map<char,int>s_map,t_map;for(charch:s)s_map[ch]++;for(charch:t)t......
  • (转载)数据结构-01-图解后缀表达式值计算方式
    目录:数据结构-01-图解后缀表达式值计算方式数据结构-02图解中缀表达式转后缀表达式并计算值1.简介问题:我们平常使用的数学表达式大多数是“中缀表达式”例如:9+(3-1)×3+10÷2,对人比较友好,但是这个对计算机计算并不友好,因为计算机无法智能判断运算顺序的问题(比如说乘法加......