当前位置: 首页 > 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.lryc.cn/news/624838.html

相关文章:

  • Dijkstra和多层图 0
  • [NSSCTF 2022 Spring Recruit]rrrsssaaa
  • 决策树学习报告
  • 决策树简单实战
  • 容器化 Android 开发效率:cpolar 内网穿透服务优化远程协作流程
  • 【Langchain系列三】GraphGPT——LangChain+NebulaGraph+llm构建智能图数据库问答系统
  • Swift + Xcode 开发环境搭建终极指南
  • 一个月内快速掌握蓝牙原理与应用的全面学习规划
  • 104、【OS】【Nuttx】【周边】文档构建渲染:安装 Sphinx 扩展(上)
  • Day7--滑动窗口与双指针--1695. 删除子数组的最大得分,2958. 最多 K 个重复元素的最长子数组,2024. 考试的最大困扰度
  • 负载均衡终极指南:从流量分发到云原生架构的核心解析
  • Apache IoTDB集群部署实战:1C2D架构的高性能时序数据库搭建与优化指南
  • 第4章-04-用WebDriver页面元素操作
  • onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT fromUser false
  • 告别 DOM 的旧时代:从零重塑 Web 渲染的未来
  • scikit-learn/sklearn学习|弹性网络ElasticNet解读
  • LINUX 818 shell:random;for for
  • 咨询进阶——解读咨询顾问技能模型
  • 2025 年世界职业院校技能大赛汽车制造与维修赛道高职组资讯整合
  • Unity开发中的浅拷贝与深拷贝
  • 做一个答题pk小程序多少钱?
  • Golang資源分享
  • USB基础 -- 字符串描述符 (String Descriptor) 系统整理文档
  • C++中内存池(Memory Pool)详解和完整示例
  • Mongodb(文档数据库)的安装与使用(文档的增删改查)
  • 可实时交互的AI生成世界,腾讯发布的AI框架Yan
  • 对象存储 COS 端到端质量系列 —— 终端网络诊断工具
  • EMC PCB 设计规范
  • 上汽通用牵手Momenta,别克至境L7全球首发搭载R6飞轮大模型
  • 用随机森林填补缺失值:原理、实现与实战