求职刷题力扣 DAY37 动态规划 part03 0-1背包问题

416. 分割等和子集

给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

示例 1:

输入:nums = [1,5,11,5]
输出:true
解释:数组可以分割成 [1, 5, 5] 和 [11] 。
示例 2:

输入:nums = [1,2,3,5]
输出:false
解释:数组不能分割成两个元素和相等的子集。

思路

典型的0-1背包,只不过容量和价值相同,target —> sum_vale // 2

代码实现

0-1背包有二维的实现,一维的实现,一维的实现必须先遍历物品,再倒序遍历容量

class Solution:
    def canPartition(self, nums: List[int]) -> bool:
        # 每个数只能选一次
        # dp[i][j] 表示前i个数,是否能够加和成数j
        # 两个子集一定是总和的1/2
        n = len(nums)
        sum_value = sum(nums)
        if sum_value % 2 == 1:
            return False
        target = sum_value // 2
        max_num = max(nums)
        if max_num > target:
            return False
        dp = [[True] + [False] * target for i in range(n)]

        # 初始化
        dp[0][nums[0]] = True

        for i in range(1, n):
            for j in range(1, target + 1):
                if j - nums[i - 1] >= 0:
                    dp[i][j] = dp[i - 1][j - nums[i]] or dp[i-1][j]
                else:
                    dp[i][j] = dp[i-1][j]
        return dp[-1][target]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/759930.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot(一)创建一个简单的SpringBoot工程

Spring框架常用注解简单介绍 SpringMVC常用注解简单介绍 SpringBoot(一)创建一个简单的SpringBoot工程 SpringBoot(二)SpringBoot多环境配置 SpringBoot(三)SpringBoot整合MyBatis SpringBoot(四…

docker安装rocketMq5x以上的版本

1.背景 安装RocketMQ 5.x以上的版本主要是因为新版本引入了许多性能优化、新功能以及对已有特性的增强,这些改进可以帮助提升消息队列系统的稳定性和效率。 1.性能提升:RocketMQ 5.x版本通常包括了对消息处理速度、吞吐量和延迟的优化,使得系…

在Linux (Ubuntu 16) 下安装LabVIEW

用户尝试在Ubuntu 16操作系统上安装LabVIEW,但找不到合适的安装文件来支持Ubuntu。已经下载了运行时文件,并尝试将.rpm包转换为.deb包并安装在Ubuntu上。然而,安装完成后,没有在应用程序中看到LabVIEW的图标。 用户希望能够在Ubu…

Spring MVC中的DispatcherServlet、HandlerMapping和ViewResolver的作用

在Spring MVC框架中,DispatcherServlet、HandlerMapping和ViewResolver是核心组件,它们各自承担着不同的角色和任务: 1.DispatcherServlet:它是Spring MVC生命周期中的前端控制器,负责接收HTTP请求并将它们分发给相应的…

【OpenREALM学习笔记:13】pose_estimation.cpp和pose_estimation.h

UML Class Diagram 图中红色框为头文件中所涉及到的函数、变量和结构体 核心函数 PoseEstimation::process() 其核心作用为执行位姿估计的处理流程,并返回是否在此循环中进行了任何处理。 在这个函数中判断并完成地理坐标的初始化或这地理坐标的更新。 这里需要…

论文阅读_基本于文本嵌入的信息提取

英文名:Embedding-based Retrieval with LLM for Effective Agriculture Information Extracting from Unstructured Data 中文名:基于嵌入的检索,LLM 从非结构化数据中提取有效的农业信息 地址: https://arxiv.org/abs/2308.03107 时间&…

昇思25天学习打卡营第04天|数据集 Dataset

数据是深度学习的基础,高质量的数据输入将在整个深度神经网络中起到积极作用。MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实现高效的数据预处理。其中Dataset是Pipel…

【linux】网络基础(1)

文章目录 网络基本概念网络的定义网络的类型局域网(LAN)广域网(WAN) 网络协议OSI七层模型TCP/IP模型TCP/IP模型的结构 网络传输的基本流程计算机与计算机之间的通信计算机的信息处理封装报头 网络基本概念 网络的定义 1.网络是指…

1.搭建篇——帝可得后台管理系统

目录 前言项目搭建一、搭建后端项目1.初始化项目Maven构建 2.MySQL相关导入sql配置信息 3. Redis相关启动配置信息 4.项目运行 二、 搭建前端项目1.初始化项目2.安装依赖3.项目运行 三、问题 前言 提示:本篇讲解 帝可得后台管理系统 项目搭建 项目搭建 一、搭建后…

【2024-热-办公软件】ONLYOFFICE8.1版本桌面编辑器测评

在今日快速发展的数字化办公环境中,选择一个功能全面且高效的办公软件是至关重要的。最近,我有幸体验了ONLYOFFICE 8.1版本的桌面编辑器,这款软件不仅提供了强大的编辑功能,还拥有众多改进,让办公更加流畅和高效。在本…

DCS-11双位置继电器 DC220V 板前接线带底座 约瑟 JOSEF

系列型号: DCS-11双位置继电器; DCS-12双位置继电器; DCS-13双位置继电器; ​用途 RXMVB2(DCS-10)系列双位置继电器用于需要大容量双稳态触点的工业控制和其它一般控制场合。 特点 体积小,拆装方便,能安…

Halcon 椭圆

一 椭圆 方差的概念: 例1 两人的5次测验成绩如下:X: 50,100,100,60,50 E(X)72;Y: 73, 70, 75,72,70 E(Y)72。平均成绩相同&#xff0c…

[Cloud Networking] OSPF

OSPF 开放式最短路径优先(Open Shortest Path First)是一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码和汇总、层次区域划分等优点。 1 OSPF Area 为了适应大型网络&#xff0…

类似李跳跳的软件有什么,强烈推荐所有安卓手机安装!!!

今天阿星分享一款让安卓手机更顺滑的神器——智慧岛。你问我李跳跳?由于大家都知道的原因,那是个曾经让广告无处遁形的神兵利器,可惜现在它已经退休了。不过别担心,智慧岛接过了接力棒,继续为我们的安卓体验保驾护航。…

vue3 全局引入 onMounted, reactive, ref 的插件全局引入

webpack 的引入 npm install -D unplugin-auto-import const AutoImport require(unplugin-auto-import/webpack).default;configureWebpack: {devtool: source-map,module: {rules: [{test: /\.mjs$/,include: /node_modules/,type: javascript/auto}],}, plugins: [Aut…

【C++深度探索】继承机制详解(一)

hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:大耳朵土土垚的博客 &#x1…

【高中数学/基本不等式】已知:x,y皆为正实数,且2xy+x+6y=6 求:x+2y的最小值

【题目】 已知:x,y皆为正实数,且2xyx6y6 求:x2y的最小值 【解答】 解法一:因为2xyx6y6 可转换为(x3)(2y1)-36 得到(x3)(2y1)9 而x2yx3-32y1-1 (x3)(2y1)-4 >2*根号下[(x3)(2y1)]-4 2*3-4 2 解法二&#xff1a…

Powershell 简易爬虫,提取种子网站的磁力链接

目录 一. 需求二. 分析2.1 思路分析2.2 技术点 三. 代码四. 效果 一. 需求 ⏹有网站如下所示,先要求从按照关键词搜索到的网页中,提取出所有的磁力链接。 二. 分析 2.1 思路分析 打开网页之后,从网页中先提取出所有的标题相关的url然后再打…

sqlmap注入详解

免责声明:本文仅做分享... 目录 1.介绍 2.特点 3.下载 4.帮助文档 5.常见命令 指定目标 请求 HTTP cookie头 HTTP User-Agent头 HTTP协议的证书认证 HTTP(S)代理 HTTP请求延迟 设定超时时间 设定重试超时 设定随机改变的参数值 利用正则过滤目标网址 避免过多的…

神经网络在机器学习中的应用:手写数字识别

机器学习是人工智能的一个分支,它使计算机能够从数据中学习并做出决策或预测。神经网络作为机器学习的核心算法之一,因其强大的非线性拟合能力而广泛应用于各种领域,包括图像识别、自然语言处理和游戏等。本文将介绍如何使用神经网络对MNIST数…