【算法刷题day42】卡码网:46. 携带研究材料(第六期模拟笔试);Leetcode:416. 分割等和子集

文章目录

    • 卡码网 46. 携带研究材料(第六期模拟笔试)
      • 解题思路
      • 代码
      • 总结
    • Leetcode 416. 分割等和子集
      • 解题思路
      • 代码
      • 总结

草稿图网站
java的Deque

卡码网 46. 携带研究材料(第六期模拟笔试)

题目:46. 携带研究材料(第六期模拟笔试)
解析:代码随想录解析

解题思路

每行代表不同的物品,每列代表背包的重量,先放完第一个物品,再放第二个物品,以此类推。

代码

import java.util.Scanner;

public class Main {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int M = sc.nextInt();
        int N = sc.nextInt();
        
        int[] weight = new int[M];
        int[] values = new int[M];
        
        for (int i = 0; i < M; i++)
            weight[i] = sc.nextInt();
        for (int i = 0; i < M; i++)
            values[i] = sc.nextInt();
            
        int [][]dp = new int[M][N+1];
        
        //初始化
        for (int i = weight[0]; i <= N; i++)
            dp[0][i] = values[0];
        
        for (int i = 1; i < M; i++) //物品
            for (int j = 0; j <= N; j++) { //重量
                if (weight[i] > j) //如果物品的重量大于容量
                    dp[i][j] = dp[i-1][j];
                else
                    dp[i][j] = Math.max(dp[i-1][j], dp[i-1][j - weight[i]] + values[i]);
            }
        
        System.out.println(dp[M-1][N]);
    }
}

//滚动数组
import java.util.Scanner;

public class Main {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int M = sc.nextInt();
        int N = sc.nextInt();
        
        int[] weight = new int[M];
        int[] values = new int[M];
        
        for (int i = 0; i < M; i++)
            weight[i] = sc.nextInt();
        for (int i = 0; i < M; i++)
            values[i] = sc.nextInt();
            
        int []dp = new int[N+1];
        
        //初始化
        for (int i = weight[0]; i <= N; i++)
            dp[i] = values[0];
        
        for (int i = 1; i < M; i++) //物品
            for (int j = N; j >= weight[i]; j--) { //重量
                dp[j] = Math.max(dp[j], dp[j - weight[i]] + values[i]);
            }
        
        System.out.println(dp[N]);
    }
}

总结

Leetcode 416. 分割等和子集

题目:416. 分割等和子集
解析:代码随想录解析

解题思路

因为数组的个数和值有限制,所以使用辅助数组作为滚动数组,进行动规。如果sum为奇数则返回false,否则寻找是否有和为sum / 2的组合。也就是容量为sum / 2的背包是否能包含sum / 2的价值的东西。

代码

class Solution {
    public boolean canPartition(int[] nums) {
        if (nums == null || nums.length == 0)
            return false;
        int sum = 0;
        for (int i = 0; i < nums.length; i++)
            sum += nums[i];
        if (sum % 2 == 1)
            return false;
        int target = sum / 2;
        int []dp = new int[target + 1];
        for (int i = 0; i < nums.length; i++) {
            for (int j = target; j >= nums[i]; j--)
                dp[j] = Math.max(dp[j], dp[j - nums[i]] + nums[i]);
            if (dp[target] == target)
                return true;
        }
        return dp[target] == target;
    }
}

总结

暂无

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

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

相关文章

第一批用AI绘画做设计的人,已经碾压同事了!

“上辈子作孽&#xff0c;这辈子作图。” 设计师的心累只有自己知道。熬夜肝图一个月&#xff0c;好不容易准时下班&#xff0c;饭刚送到嘴边&#xff0c;工作群消息开始疯狂轰炸&#xff0c;领导夺命连环催进度… 2年工作时间&#xff0c;等于别人工作了6年&#xff0c;疯狂加…

HTTP 多个版本

了解一下各个版本的HTTP。 上个世纪90年代初期&#xff0c;蒂姆伯纳斯-李&#xff08;Tim Berners-Lee&#xff09;及其 CERN的团队共同努力&#xff0c;制定了互联网的基础&#xff0c;定义了互联网的四个构建模块&#xff1a; 超文本文档格式&#xff08;HTML&#xff09; …

深度学习之基于Resnet50卷积神经网络脊柱骨折CT影像图片诊断系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 脊柱骨折是骨科中一种常见的损伤类型&#xff0c;准确的诊断对于患者的治疗和康复至关重要。传统的脊…

信创 | 2023年中国信创产业深度研究报告(完整版)

信创产业研究报告 免责声明&#xff1a;本文资料来源于“第一新声”&#xff0c;版权归原作者所有。如涉及作品版权问题&#xff0c;请与我们联系&#xff0c;我们将在第一时间协商版权问题或删除内容&#xff01; 获取文中相关的PPT资料&#xff0c;请关注文末公众号“程序员…

【Java EE】多线程(三)线程状态

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

Win10彻底关闭Antimalware Service Executable解决cpu内存占用过高问题

1&#xff0c;win键R打开运行输入gpedit.msc&#xff0c;即可打开本地组策略编辑器 2.依次打开&#xff1a;管理模板----windows组件----windows Defender-----实时保护 3.然后鼠标双击右侧的“不论何时启用实时保护&#xff0c;都会启用进程扫描。勾选 已禁用&#xff0c;就可…

EPSON的温补晶振TG7050SKN

EPSON公司推出的温补品振(TCXO)TG7050SKN&#xff0c;尺寸大小为7.0x5.0x1.5 mm&#xff0c;具有高稳定性(105℃℃高温)等特点&#xff0c;可输出10MHz~54MHz的频率可应用在网络同步&#xff0c;BTS&#xff0c;微波&#xff0c;以及需要符合Stratum3、SyncE和IEEE1588等规范的…

JVM笔记3-经典的垃圾收集器

上图展示了7种&#xff0c;适用于不同分代中的收集器。如果两者之间由连线&#xff0c;说明可以搭配使用。 PS&#xff1a;在JDK8中将SerialCMS和ParNewSerial Old的组合声明为废弃&#xff0c;并且在JDK9中完全取消了这两种组合的支持。 1、Serial收集器 Serial收集器是JVM中…

护士节趣味互动h5小游戏的作用是什么

护士节也同样气氛满满&#xff0c;护士总量非常高&#xff0c;针对此群体不少行业都可借势营销&#xff0c;为自己的生意及品牌赋能&#xff0c;奖品吸引用户参与&#xff0c;趣味形式及控件达成多种效果。 在【雨科】平台拥有多款护士节互动小游戏类型&#xff0c;页面元素/背…

5000亿参数来了:微软将推出 MAI-1 模型硬刚谷歌和OpenAI|TodayAI

美国的科技巨头微软公司&#xff0c;正在积极扩展其人工智能&#xff08;AI&#xff09;技术的领域。最新消息显示&#xff0c;微软将推出一款名为MAI-1的全新AI模型&#xff0c;其规模巨大&#xff0c;预计将拥有5000亿个可调参数。这一开发工作由Inflection AI的CEO穆斯塔法苏…

SpringBoot 扩展篇:ConfigFileApplicationListener源码解析

SpringBoot 扩展篇&#xff1a;ConfigFileApplicationListener源码解析 1.概述2. ConfigFileApplicationListener定义3. ConfigFileApplicationListener回调链路3.1 SpringApplication#run3.2 SpringApplication#prepareEnvironment3.3 配置environment 4. 环境准备事件 Config…

社交媒体数据恢复:抖音、火山版、极速版

抖音是一款非常受欢迎的短视频社交平台&#xff0c;在使用过程中&#xff0c;有时候我们会不小心删除了重要的聊天记录。那么&#xff0c;如何恢复抖音聊天记录呢&#xff1f;下面&#xff0c;我将为大家带来一份详细的抖音聊天记录数据恢复教程。 一、抖音聊天记录恢复方法 打…

Angular中组件之间的传值

Angular中组件之间的传值 文章目录 Angular中组件之间的传值前言一、父亲向儿子传值二、儿子向父亲传值三、爷爷向孙子传值四、兄弟之间的传值 前言 Angular的组件是构成应用的基础单元&#xff0c;它们封装了HTML模板、TypeScript代码以及CSS样式&#xff0c;以实现特定的功能…

【算法学习】day2

文章目录 BFS1.图像渲染2.岛屿数量 BFS 1.图像渲染 思路&#xff1a;BFS宽度遍历&#xff0c;我们需要对初始像素进行一层一层遍历&#xff0c;也就是上下左右四个方向进行遍历判断&#xff0c;如何访问这四个方向呢&#xff0c;就需要利用两个数组dx和dy来进行判断和遍历&…

【RPC】Dubbo接口测试

关于rpc&#xff0c;推荐看看这篇 &#xff1a; 既然有HTTP协议&#xff0c;为什么还要有RPC 一、Dubbo 是一款alibaba开源的高性能服务框架&#xff1a; 分布式服务框架高性能和透明化的RPC远程服务调用方案SOA服务治理方案 二、Dubbo基础架构 三、 Dubbo接口测试 1、jme…

毕业设计参考-PyQt5-YOLOv8-鱼头鱼尾鱼长测量程序,OpenCV、Modbus通信、YOLO目标检测综合应用

“PyQt5-YOLOv8-鱼头鱼尾鱼长测量程序”是一个特定的软件程序&#xff0c;用于通过图像处理和目标检测技术来测量鱼类的长度。 视频效果&#xff1a; 【毕业设计】基于yolo算法与传统机器视觉的鱼头鱼尾识别_哔哩哔哩_bilibili 这个程序结合了多种技术&#xff1a; 1. OpenCV…

并行执行的概念—— 《OceanBase 并行执行》系列 一

From 产品经理&#xff1a; 这是一份姗姗来迟的关于OceanBase并行执行的系统化产品文档。 自2019年起&#xff0c;并行执行功能已被许多客户应用于多种场景之中&#xff0c;其重要性日益凸显。然而&#xff0c;遗憾的是&#xff0c;我们始终未能提供一份详尽的用户使用文档&…

如何应对访问国外服务器缓慢的问题?SDWAN组网是性价比之选

访问国外服务器缓慢通常由以下原因造成&#xff1a; 1、政策限制&#xff1a;我国管理互联网&#xff0c;限制部分国外网站和服务器&#xff0c;以维护国家安全稳定。 2、技术障碍&#xff1a;国内与国际互联网的网络架构和协议存在差异&#xff0c;可能导致数据传输不兼容。 …

探索AI编程新纪元:从零开始的智能编程之旅

提示&#xff1a;Baidu Comate 智能编码助手是基于文心大模型&#xff0c;打造的新一代编码辅助工具 文章目录 前言AI编程概述&#xff1a;未来已来场景需求&#xff1a;从简单到复杂&#xff0c;无所不包体验步骤&#xff1a;我的AI编程初探试用感受&#xff1a;双刃剑下的深思…

docker资源限额

多数的应⽤场景要对Docker容器的运⾏内存进⾏限制&#xff0c;防⽌其使⽤过多的内存。 格式&#xff1a;-m或--memory 正常的内存大小 [rootadmin ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …
最新文章