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

力扣2道dp

198. 打家劫舍 - 力扣(LeetCode)

设前i+1间房能搜刮到的最高金额为dp[i]

对于dp[i],要么不更新,保持和dp[i-1]一样,要么更新,变为dp[i-2]+nums[i]。两者谁的值更大,决定是否更新。

class Solution 
{
public:int rob(vector<int>& nums) {int n=nums.size();if(n==1) return nums[0];vector<int>dp(n);//dp[i]表示前i+1间能搜刮的最高金额dp[0]=nums[0];dp[1]=max(nums[0],nums[1]);for(int i=2;i<n;i++){dp[i]=max(dp[i-1],nums[i]+dp[i-2]);}return dp[n-1];}
};

279. 完全平方数 - 力扣(LeetCode)

dp[i]表示最少需要多少个数的平方来表示整数i,显然这些数落在[1,sqrt(i)]内,我们可以枚举这些数。当枚举到j时,我们还需要取i-j^2,那么需要知道dp[i-j^2],由于子问题与原问题类似,因此使用动态规划。

class Solution
{
public:int numSquares(int n){vector<int>dp(n+1);for (int i = 1; i < n; i++){int minn = INT_MAX;for (int j = 1; j * j <= i; j++){minn = min(minn, dp[i - j * j]);//找出dp[i-j*j]中最小的那个}dp[i] = minn + 1;}return dp[n];}
};

http://www.dtcms.com/a/337447.html

相关文章:

  • easyexcel fastexcel 官方文档 easyexcel合并单元格
  • 项目会议怎么开才有效
  • 【前端面试题】JavaScript 核心知识点解析(第十四题解析到第二十二题)
  • 【Mac】【Minecraft】关于如何在Mac上搭建基岩版MC服务器的方法
  • 前端Element-plus的选择器 el-select 清空内容时,后端对应的更新方式,支持更新为null
  • 【秋招笔试】2025.08.09网易秋招机考
  • openEuler系统备份与恢复方法
  • 【DL学习笔记】交叉熵损失函数详解
  • 无人机视角违章建筑识别分割数据集labelme格式343张2类别
  • AI测试自愈率80%!语音编程提效10倍——2025软件AI化爆炸级突破
  • 端面试题大汇总二
  • 分库分表数据源如何清洗同步到目标表
  • 大数据计算引擎(二)——Flink
  • 大数据计算引擎(四)—— Impala
  • 【matlab】考虑源荷不平衡的微电网鲁棒定价研究
  • Pandas 数据导入导出、索引、分组聚合与可视化
  • (第十八期)图像标签的三个常用属性:width、height、border
  • 特赞内容运营解决方案,AI重构品牌内容价值链
  • 云计算学习100天-第21天
  • 整体设计 之“凝聚式中心点”原型 --整除:智能合约和DBMS的深层融合 之2
  • 将 iPhone 联系人转移到 Infinix 的完整指南
  • MCP ZAP Server:一款能够利用大模型替代人工进行Web安全扫描的开源MCP
  • Vue深入组件:组件 v-model 详解2
  • 网络安全巡检系统的功能组成和作用
  • sizeof和strlen的对比分析
  • vue从入门到精通:搭建第一个vue项目
  • kali linux从入门到精通教程
  • 【GM3568JHF】FPGA+ARM异构开发板烧录指南
  • Go并发编程-goroutine
  • 智能人形机器人:知识驱动的工业生产力革新