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

【刷题笔记】删除并获取最大点数粉刷房子

欢迎来到 破晓的历程的 博客

⛺️不负时光,不负己✈️

题目一

题目链接:删除并获取最大点数
思路:

  • 预处理在这里插入图片描述
  • 状态表示

在这里插入图片描述

  • 状态转移方程在这里插入图片描述
    代码如下
class Solution {
public:int deleteAndEarn(vector<int>& nums) {int N=10001;int arry[N]={0};for(auto x:nums){arry[x]+=x;}//接下来,就是打家劫舍问题vector<int> f(N);vector<int> g(N);f[0]=arry[0];g[0]=0;for(int i=0;i<N;i++){f[i]=g[i-1]+arry[i];g[i]=max(g[i-1],f[i-1]);}return max(f[10000],g[10000]);English}
};

思考:我们是如何将这道题目和打家劫舍问题联系在一起的

这道题目要求必须删除相邻的数据,和打家劫舍问题中的不能偷相邻的两家的东西非常相似。所以我们就可以将本题转化为打家劫舍问题。但是本题的数据不一定是连续的,所以我们需要预处理一步。转化成连续的。

题目二

题目链接:粉刷房子
思路
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码如下

class Solution {
public:int minCost(vector<vector<int>>& costs) {int m=costs.size(); if(m==1) return min(costs[0][1],costs[0][0],costs[0][2]);vector<vector<int>>dp(m+1,vector<int>(3));for(int i=1;i<m+1;i++){dp[i][0]=min(dp[i-1][1],dp[i-1][2])+costs[i-1][0];dp[i][1]=min(dp[i-1][0],dp[i-1][2])+costs[i-1][1];dp[i][2]=min(dp[i-1][0],dp[i-1][1])+costs[i-1][2];}return min(dp[m][0],dp[m][1],dp[m][2]);}
};
http://www.lryc.cn/news/431037.html

相关文章:

  • 【Linux 从基础到进阶】Elasticsearch 搜索服务安装与调优
  • IMU助力JAXA空间站机器人
  • java开发,记录一些注解和架构
  • 【2024高教社杯全国大学生数学建模竞赛】B题 生产过程中的决策问题——解题思路 代码 论文
  • JUnit 5和Mockito进行单元测试!
  • LeetCode 算法:完全平方数 c++
  • 深入CSS 布局——WEB开发系列29
  • 视频的容器格式和编码格式详解
  • Elasticsearch Mapping 详解
  • WPF 利用视觉树获取指定名称对象、指定类型对象、以及判断是否有验证错误
  • 了解`re`模块的`split()`, `sub()`, `subn()`方法的作用
  • 机器学习交通流量预测实现方案
  • QNN:基于QNN+example重构之后的yolov8det部署
  • Redis实战宝典:开发规范与最佳实践
  • RPC的实现原理架构
  • OpenXR Monado Hello_xr提交Frame
  • huggingface快速下载模型及其配置
  • 虚幻5|不同骨骼受到不同伤害|小知识(2)
  • 达梦SQL 优化简介
  • 题解:CF1070B Berkomnadzor
  • shell 学习笔记:数组
  • 计算机基础知识复习9.5
  • spark.sql
  • 2024 数学建模高教社杯 国赛(A题)| “板凳龙”舞龙队 | 建模秘籍文章代码思路大全
  • kaggle注册收不到验证码、插件如何下载安装
  • k8s相关技术栈
  • uniapp h5项目页面中使用了iframe导致浏览器返回按键无法使用, 返回不了上一页.
  • 《2024网络安全十大创新方向》
  • 深入解析反射型 XSS 与存储型 XSS:原理、危害与防范
  • 【STM32+HAL库】---- 驱动MAX30102心率血氧传感器