首页/新闻资讯/正文详情

DeepSeek LeetCode 3276. 选择矩阵中单元格的最大得分 Java实现

发布时间:2026/9/25 17:59:41 来源:云帆数科 栏目:资讯中心
DeepSeek    LeetCode 3276. 选择矩阵中单元格的最大得分 Java实现
这道题是 LeetCode 3276可以用状态压缩动态规划 (状压DP) 来解决。核心思路题目有两个核心限制1. 每行最多选一个因为行数 n 10可以用一个二进制整数位掩码表示哪些行已被占用。2. 选中的值必须互不相同可以从大到小考虑每个可能的数值1 到 100决定是否选择它。状态定义与转移· 状态定义dp[i][mask] 表示处理完数值 i 到 100 后已占用行状态为 mask 时能获得的最大得分。· 初始状态dp[101][mask] 0没有数值可选了。· 状态转移对于数值 i有两种选择1. 跳过dp[i][mask] dp[i1][mask]2. 选择如果某行 r 未被占用且包含数值 i则可以选它dp[i][mask] max(dp[i][mask], dp[i1][mask | (1 r)] i)· 最终答案dp[1][0]所有行都未被占用。Java 代码实现javaclass Solution {public int maxScore(ListListInteger grid) {int n grid.size();// 1. 预处理记录每一行包含了哪些数字// 数字范围是 1 到 100boolean[][] has new boolean[n][101];for (int i 0; i n; i) {for (int v : grid.get(i)) {has[i][v] true;}}// 2. 动态规划// dp[i][mask]: 处理完数值 i..100已选行状态为 mask 的最大得分int[][] dp new int[102][1 n];// 从大到小遍历所有可能的数值for (int i 100; i 1; i--) {for (int mask 0; mask (1 n); mask) {// 情况1: 不选择数字 idp[i][mask] dp[i 1][mask];// 情况2: 选择数字 i枚举它可以被安放在哪一行for (int r 0; r n; r) {// 行 r 未被占用 且 行 r 包含数字 iif ((mask (1 r)) 0 has[r][i]) {int newMask mask | (1 r);dp[i][mask] Math.max(dp[i][mask], dp[i 1][newMask] i);}}}}// 从数字1开始初始没有任何行被占用return dp[1][0];}}复杂度分析· 时间复杂度: O(100 * 2^n * n)其中 n 是矩阵行数n 10因此效率很高。· 空间复杂度: O(100 * 2^n)。其他解法思路· 回溯 剪枝对每行去重排序递归尝试选或不选通过剪枝优化。· 贪心 TreeMap从大到小处理数值用 TreeMap 记录每个值出现在哪些行用回溯处理冲突。上述状态压缩DP是这道题比较标准的解法逻辑清晰且易于实现。

相关推荐

Duix-Avatar开源ai数字人,离线视频生成 懒人整合包
Duix-Avatar开源ai数字人,离线视频生成 懒人整合包

Duix-Avatar github地址:Duix-Avatar 前置要求 需要设置的前置条件 1.拥有D或者需要挂在映射D盘(如果没有,就不要继续尝试了) 2.windows环境需要有docker desktop(优先win11且安装了wsl或者wsl2)&#… · 2026/9/25 15:59:00

如何在商业项目中免费使用Source Serif 4开源字体
如何在商业项目中免费使用Source Serif 4开源字体

如何在商业项目中免费使用Source Serif 4开源字体 【免费下载链接】source-serif Typeface for setting text in many sizes, weights, and languages. Designed to complement Source Sans. 项目地址: https://gitcode.com/gh_mirrors/so/source-serif Source Serif 4… · 2026/9/21 18:21:55

Kali Linux内置John快速破解弱密码:5分钟实战指南
Kali Linux内置John快速破解弱密码:5分钟实战指南

1. 项目概述:为什么选择Kali自带的John?每次看到有人为了跑个密码,先去GitHub下载John the Ripper的源码,然后吭哧吭哧地解决各种依赖、编译错误,最后可能还因为环境问题跑不起来,我就觉得挺可惜的。尤其是… · 2026/9/22 20:15:46

Robocup仿真救援代码实战:多智能体协作与参数调优指南
Robocup仿真救援代码实战:多智能体协作与参数调优指南

简介:这份Robocup仿真救援代码面向参加Robocup Rescue仿真竞赛的开发者与AI、机器人方向的学习者,提供一套可自主决策、搜索、导航与危险评估的救援软件系统实现,用于在虚拟灾害场景中训练和验证算法,无需真实机器人硬件即可完成测… · 2026/9/25 17:59:02

只想降低论文摘要AI率,免费大模型和专业降AI工具选哪个?
只想降低论文摘要AI率,免费大模型和专业降AI工具选哪个?

只想降低论文摘要AI率,免费大模型和专业降AI工具选哪个? 摘要AI率高,但你不想把整篇论文重写,可以先这样选:内容还没说清,用DeepSeek免费找问题;研究信息完整,只想试着调整表达&… · 2026/9/25 17:58:44

如何将Ragent写进简历:一个能在面试中聊透的Agentic RAG项目
如何将Ragent写进简历:一个能在面试中聊透的Agentic RAG项目

如何将Ragent写进简历:一个能在面试中聊透的Agentic RAG项目 【免费下载链接】ragent 企业级 Agentic RAG 智能体 - 全链路覆盖文档解析、多路检索、意图识别、问题重写、会话记忆、MCP 工具调用与深度思考。面向真实业务场景,从 0 到 1 完整工程实现。 … · 2026/9/25 17:58:38

SonyHeadphonesClient 从零开始:三端 5 分钟构建,索尼耳机降噪调节不用翻手机
SonyHeadphonesClient 从零开始:三端 5 分钟构建,索尼耳机降噪调节不用翻手机

SonyHeadphonesClient 从零开始:三端 5 分钟构建,索尼耳机降噪调节不用翻手机 【免费下载链接】openvino OpenVINO™ is an open source toolkit for optimizing and deploying AI inference 项目地址: https://gitcode.com/GitHub_Trending/op/openvi… · 2026/9/25 17:58:38

Spring AOP—基于注解的AOP实现(IDEA2026+JDK17)
Spring AOP—基于注解的AOP实现(IDEA2026+JDK17)

0.环境 IDEA2026.1 JDK17 spring: 5.3.20 1.创建项目 打开IDEA ,点击文件—>新建—>项目 然后,下面选择”Java“,名称为:SpringAOPAnnotation,构建系统选:Maven,JDK版本选17。 最后点… · 2026/9/25 17:57:55

Tekton Pipeline 依赖的 go-jose Safe JSON:大小写敏感解析与重复键拒绝的实现剖析
Tekton Pipeline 依赖的 go-jose Safe JSON:大小写敏感解析与重复键拒绝的实现剖析

云原生CI/CDDevOps后端 【免费下载链接】pipeline A cloud-native Pipeline resource. 项目地址: https://gitcode.com/gh_mirrors/pipelin/pipeline 点击查看 免费下载 在 Tekton Pipeline 仓库的 vendor/github.com/go-jose/go-jose/v4/json 目录下,隐… · 2026/9/25 17:57:55

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码