当前位置: 首页 > news >正文

算法刷题记录 Day36

算法刷题记录 Day36

Date: 2024.04.02

lc 416. 分割等和子集

//2. 一维数组
class Solution {
public:bool canPartition(vector<int>& nums) {// 将问题转化为从数组中任意取数,使得容量为数组总和一半的背包内的价值尽可能大。// dp[j]表示容积为j的背包中,能装的最大价值。// dp[j] = for(int i=n-1; i>=0; i++) max(dp[j], dp[j-nums[i]]+nums[i]);int n = nums.size();int count = 0;for(auto& x: nums){count += x;}int half_count = count / 2;vector<int> dp(half_count+1, 0);for(int i=0; i<n; i++){for(int j=half_count; j>=nums[i]; j--){dp[j] = max(dp[j], dp[j-nums[i]]+nums[i]);}}if(dp[half_count] == (count - half_count))return true;elsereturn false;}
};// 1. 二维数组
class Solution {
public:bool canPartition(vector<int>& nums) {// 将问题转化为从数组中任意取数,使得容量为数组总和一半的背包内的价值尽可能大。// dp[i][j] 表示从第[0, i]个数中,容积为j的背包的最大价值;// dp[i][j] = max(dp[i-1][j], dp[i-1][j-v[i]]+v[i]);// 初始化第一行中,j大于等于nums[0]的为j,其余为0;int n = nums.size();int count = 0;for(auto& x: nums){count += x;}int half_count = count / 2;vector<vector<int>> dp(n, vector<int>(half_count+1, 0));for(int j=nums[0]; j<=half_count; j++){dp[0][j] = nums[0];}for(int i=1; i<n; i++){for(int j=0; j<=half_count; j++){if(j < nums[i])dp[i][j] = dp[i-1][j];else{dp[i][j] = max(dp[i-1][j], dp[i-1][j-nums[i]]+nums[i]);}}}// for(int i=0; i<n; i++){//     for(int j=0; j<=half_count; j++){//         cout<<"i:"<<i<<", j:"<<j<<", value:"<<dp[i][j]<<endl;//     }// }if(dp[n-1][half_count] == (count - half_count))return true;elsereturn false;}
};

相关文章:

算法刷题记录 Day36

算法刷题记录 Day36 Date: 2024.04.02 lc 416. 分割等和子集 //2. 一维数组 class Solution { public:bool canPartition(vector<int>& nums) {// 将问题转化为从数组中任意取数&#xff0c;使得容量为数组总和一半的背包内的价值尽可能大。// dp[j]表示容积为j的…...

面试必问 - CSS 中元素居中小技巧

在网页设计中&#xff0c;居中是一个至关重要的布局技巧&#xff0c;能够确保你的页面在不同设备和屏幕尺寸上呈现出优雅的样式。 在这篇文章中&#xff0c;将介绍一些 CSS 居中的基本技巧&#xff0c;适用于各种场景。 1. 水平居中 文本水平居中 通过设置 text-align: cen…...

Chatgpt润色论文

使用ChatGPT进行论文润色时的指令 1.英语学术润色 模板&#xff1a;Below is a paragraph from an academic paper. Polish the writing to meet the academic style,improve the spelling, grammar, clarity, concision and overall readability. When necessary, rewrite th…...

51单片机实验02- P0口流水灯实验

目录 一、实验的背景和意义 二、实验目的 三、实验步骤 四、实验仪器 五、实验任务及要求 1&#xff0c;从led4开始右移 1&#xff09;思路 ①起始灯 &#xff08;led4&#xff09; ②右移 2&#xff09;效果 3&#xff09;代码☀ 2&#xff0c;从其他小灯并向右依…...

使用git 和 github协作开发

文章目录 github浏览器汉化插件github新建仓库git安装以及ssh配置团队创建及基本命令的使用创建团队基本命令 分支管理快速切换远程仓库地址 如何使用git && github进行协作开发&#xff0c;包括git常见基础命令 github浏览器汉化插件 在刚开始使用github的时候&#…...

DataX,MongoDB数据导入hdfs与mysql

【尚硅谷】Alibaba开源数据同步工具DataX技术教程【尚硅谷】Alibaba开源数据同步工具DataX技术教程_哔哩哔哩_bilibili 目录 1、MongoDB 1.1、MongoDB介绍 1.2、MongoDB基本概念解析 1.3、MongoDB中的数据存储结构 1.4、MongoDB启动服务 1.5、MongoDB小案例 2、DataX导入…...

【OpenCV-颜色空间】

OpenCV-颜色空间 ■ RGB■ BGR■ HSV■ HSL■ HUE■ YUV ■ RGB ■ BGR BGR 就是RGB R和B调换位置。 OpenCV 默认使用BGR ■ HSV ■ HSL ■ HUE ■ YUV...

电脑硬盘分区表的两种格式:MBR 和 GPT

电脑硬盘分区表的两种格式&#xff1a;MBR 和 GPT 段子手168 2024-4-5 电脑硬盘分区表有两种格式&#xff1a;MBR 和 GPT&#xff1a; 一、MBR 分区表 1.MBR 是主引导记录 (Master Boot Record) 的英文缩写 在传统&#xff08;Legacy&#xff09;硬盘分区模式中&#xff0c…...

kafka 常用非基础的核心设置项

在测试的过程中&#xff0c;心血来潮&#xff0c;想要测试下新topic中还没被消费的消息。专门查了下ai&#xff0c;奈何一本正经的胡说八道&#xff0c;浪费了点时间。现在记录下&#xff1a; 解决topic缺失时项目无法启动 &#xff0c; 报错&#xff1a; Topic(s) [……] is/a…...

杂谈 EV之我见

每周至少更新一片博文&#xff0c;没有目的的看代码是没有效率的&#xff0c;带着目的去看代码才会有所得&#xff0c; 目前车载行业火爆&#xff0c;得益于EV和AI技术的发展&#xff0c;汽车从一个传统工业产品&#xff0c;摇身一变成为了前沿科技产品。 小米su7的发布会我看…...

白色磨砂质感html5页源码

白色磨砂质感html5页源码&#xff0c;简约的基础上加上了团队成员&#xff0c;自动打字特效音乐播放器存活时间 源码下载 https://www.qqmu.com/2980.html...

sqlite建立数据库

在做一些简单的实验项目的时候&#xff0c;sqlite比较好用&#xff08;MacOS验视环境&#xff09;。相关包下载网页&#xff1a;https://www.sqlite.org/download.html 1 创建数据文件目录 cd /<project_path> mkdir database cd /database2 创建数据库 在当前目录&am…...

HTML5标签(网页编程)

一、常用标签 HTML5&#xff08;或HTML&#xff09;中有很多常用的标签&#xff0c;这些标签用于构建网页的结构和内容。以下是一些常用的HTML5标签&#xff1a; 1. 标题标签 <h1> 到 <h6>&#xff1a;定义六个级别的标题&#xff0c;<h1> 级别最高&#…...

RabbitMQ小记

参考书籍&#xff1a;朱忠华的《RabbitMQ实战指南》 一、基础概念 1.Exchange 1.1 创建方法的参数&#xff0c;exchangeDeclare() exchange&#xff1a;交换器的名称type&#xff1a;交换器的类型durable&#xff1a;是否持久化&#xff0c;true代表持久化。&#xff08;持…...

【备忘录】docker-maven-plugin 使用

在使用docker-maven-plugin 插件时&#xff0c;经常会碰到一些奇怪的问题&#xff1a; 比如&#xff1a; 1、docker远程访问时&#xff0c;认证安全问题&#xff1f; 2、dockerHost 访问地址准确性&#xff1f; 3、需要多个tag时如何处理&#xff1f; 4、push 到仓库时&#xf…...

一起学习python——基础篇(10)

前言&#xff0c;Python 是一种面向对象的编程语言。以前大学读书的时候经常开玩笑说的一句话“如果没有对象&#xff0c;就new一个”。起因就是编程老师上课时经常说一句“首先&#xff0c;我们new一个对象”。 今天讲一下python的类和对象。 类是什么&#xff1f;它是一种用…...

LoRa自组网络设计 6

1 深入了解LoRaWan 1.1 LoRaWan概述 LoRaWAN采用星型无线拓扑 End Nodes 节点 Gateway 网关 Network Server 网络服务器 Application Server 应用服务器 LoRa联盟是2015年3月Semtech牵头成立的一个开放的、非盈利的组织&#xff0c;发起成员还有法国Actility&#xff0c;中国…...

C++手撕红黑树

文章目录 红黑树概念性质&#xff08;条件限制&#xff09;节点的定义红黑树的结构红黑树的插入cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u存在且为红cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u不存在或u为黑&#xff0c;插入到p对应的一边cur为红…...

计算机中,逻辑端口

计算机中,端口是什么 在计算机领域中,端口(Port)是一个逻辑概念,用于标识计算机与外部设备或另一台计算机通信时的出入口。它是计算机与外部通信的途径,分为物理端口和逻辑端口两种。 物理端口:物理端口也被称为接口,是计算机主板上或其他设备上的硬件接口,如USB接口…...

SV学习笔记(一)

SV&#xff1a;SystemVerilog 开启SV之路 数据类型 內建数据类型 四状态与双状态 &#xff1a; 四状态指0、1、X、Z&#xff0c;包括logic、integer、 reg、 wire。双状态指0、1&#xff0c;包括bit、byte、 shortint、int、longint。 有符号与无符号 &#xff1a; 有符号&am…...

Hackintool:黑苹果配置不再复杂,这款工具让你轻松搞定所有难题

Hackintool&#xff1a;黑苹果配置不再复杂&#xff0c;这款工具让你轻松搞定所有难题 【免费下载链接】Hackintool The Swiss army knife of vanilla Hackintoshing 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintool 还在为黑苹果的配置问题头疼吗&#xff1f;…...

AI 术语通俗词典:人工神经元

人工神经元是深度学习、神经网络和人工智能中非常基础的一个术语。它用来描述神经网络中最基本的数学计算单元。换句话说&#xff0c;人工神经元是在回答&#xff1a;模型怎样把多个输入信号加权合并&#xff0c;并转换成一个新的输出信号。如果说神经网络是一套由许多层组成的…...

长期使用Taotoken服务在稳定性与响应速度上的综合体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken服务在稳定性与响应速度上的综合体验 在持续数月的日常开发与测试工作中&#xff0c;我们团队将多个项目的大模型…...

163MusicLyrics:一键获取网易云QQ音乐歌词的专业工具

163MusicLyrics&#xff1a;一键获取网易云QQ音乐歌词的专业工具 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到高质量歌词而烦恼吗&#xff1f;163MusicLy…...

从SolidWorks到Geant4仿真:我的第一个粒子探测器CAD模型导入全记录(含CADMesh避坑点)

从SolidWorks到Geant4仿真&#xff1a;我的第一个粒子探测器CAD模型导入全记录&#xff08;含CADMesh避坑点&#xff09; 作为一名刚接触粒子探测器仿真的研究生&#xff0c;我花了整整两周时间才成功将SolidWorks设计的模型导入Geant4进行模拟。这个过程远比想象中复杂&#x…...

从PUMA560到你的项目:手把手教你将经典DH建模流程迁移到自定义机械臂

从PUMA560到自定义机械臂&#xff1a;DH建模实战迁移指南 当机械臂从教科书案例走向真实项目时&#xff0c;最令人头疼的莫过于面对一个全新构型却不知如何下手。本文将以工业界经典的PUMA560为跳板&#xff0c;拆解一套可迁移的DH建模方法论&#xff0c;带您跨越从理论到实践的…...

Go语言开源漏洞扫描器Abyss-Scanner:架构解析与CI/CD集成实践

1. 项目概述&#xff1a;一个为安全而生的开源漏洞扫描器最近在整理自己的开源项目工具箱&#xff0c;发现一个挺有意思的工具&#xff0c;叫 Abyss-Scanner。这名字起得挺有深意&#xff0c;“深渊扫描器”&#xff0c;听起来就有点探索未知、发现潜在风险的味道。简单来说&am…...

如何快速掌握openpilot:从零到精通的自动驾驶系统终极指南

如何快速掌握openpilot&#xff1a;从零到精通的自动驾驶系统终极指南 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Tre…...

【避坑指南】VSCode+EIDE+Keil混合开发环境:从零搭建到项目无缝迁移

1. 为什么需要VSCodeEIDEKeil混合开发环境&#xff1f; 作为一名嵌入式开发者&#xff0c;我深知Keil这个老牌IDE在开发效率上的痛点&#xff1a;代码补全弱、界面老旧、多窗口管理混乱。但直接完全迁移到VSCode又面临工程兼容性问题&#xff0c;特别是对传统AC5编译器的支持。…...

免费额度即将失效?ElevenLabs 2024.6.1新规生效前,必须完成的5项额度迁移准备

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs免费额度机制的本质解析 ElevenLabs 的免费额度并非按“每月重置”的静态配额&#xff0c;而是一种基于账户生命周期的动态信用池&#xff08;Credit Pool&#xff09;&#xff0c;其底层由实…...