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

C++ | Leetcode C++题解之第546题移除盒子

题目:

题解:

class Solution {
public:int dp[100][100][100];int removeBoxes(vector<int>& boxes) {memset(dp, 0, sizeof dp);return calculatePoints(boxes, 0, boxes.size() - 1, 0);}int calculatePoints(vector<int>& boxes, int l, int r, int k) {if (l > r) {return 0;}if (dp[l][r][k] == 0) {int r1 = r, k1 = k;while (r1 > l && boxes[r1] == boxes[r1 - 1]) {r1--;k1++;}dp[l][r][k] = calculatePoints(boxes, l, r1 - 1, 0) + (k1 + 1) * (k1 + 1);for (int i = l; i < r1; i++) {if (boxes[i] == boxes[r1]) {dp[l][r][k] = max(dp[l][r][k], calculatePoints(boxes, l, i, k1 + 1) + calculatePoints(boxes, i + 1, r1 - 1, 0));}}}return dp[l][r][k];}
};
http://www.lryc.cn/news/479124.html

相关文章:

  • day05(单片机)SPI+数码管
  • Android Framework AMS(13)广播组件分析-4(LocalBroadcastManager注册/注销/广播发送处理流程解读)
  • 模糊理论与模糊集概述
  • 基于STM32的实时时钟(RTC)教学
  • Caffeine Cache解析(三):BoundedBuffer 与 MpscGrowableArrayQueue 源码浅析
  • 全双工通信协议WebSocket——使用WebSocket实现智能学习助手/聊天室功能
  • Rust-Trait 特征编程
  • 彻底理解哈希表(HashTable)结构
  • 微信小程序的汽车维修预约管理系统
  • LeetCode:3255. 长度为 K 的子数组的能量值 II(模拟 Java)
  • 深入了解逻辑回归:机器学习中的经典算法
  • 软件测试基础十三(python 函数)
  • 计算机网络——HTTP篇
  • 信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
  • 自动化工具 Gulp
  • css实现div被图片撑开
  • Power Pivot、Power BI 和 SQL Server Analysis Services 的公式语言:DAX(数据分析表达式)
  • 大模型应用编排工具Dify二开之工具和模型页面改造
  • Pytorch用BERT对CoLA、新闻组文本数据集自然语言处理NLP:主题分类建模微调可视化分析...
  • LightGBM-GPU不能装在WSL,能装在windows上
  • 工业相机常用功能之白平衡及C++代码分享
  • Foundry 单元测试
  • idea database连接数据库后看不到表解决方法、格式化sql快捷键
  • 【数学二】线性代数-向量-向量组的秩、矩阵得秩
  • ABAP开发-内存管理
  • 【Ajax】跨域
  • yii 常用一些调用
  • 网页版五子棋——用户模块(服务器开发)
  • 以RK3568为例,ARM核心板如何实现NTP精准时间同步?
  • Twitter(X)2024最新注册教程