1997. 访问完所有房间的第一天

1997. 访问完所有房间的第一天


题目链接:1997. 访问完所有房间的第一天

代码如下:

cpp 复制代码
//动态规划
//参考leetcode官方题解
class Solution 
{
public:
    int firstDayBeenInAllRooms(vector<int>& nextVisit) 
    {
        //定义dp[i]表示从奇数次到房间i,到奇数次到达房间i+1所需要的天数
        vector<int> dp(nextVisit.size());
        dp[0]=2;//初始化原地待一天+访问下一个房间一天
        for(int i=1;i<nextVisit.size();i++)
        {
            int to=nextVisit[i];
            dp[i]=2+dp[i-1];
            
            if(to!=0)
            {
                dp[i]=(dp[i]-dp[to-1]+mod)%mod;//避免负数
            }
            dp[i]=(dp[i]+dp[i-1])%mod;
        }
        return dp[nextVisit.size()-2];
    }
private:
    const int mod=1e9+7;
};
相关推荐
努力努力再努力wz5 分钟前
【C++高阶数据结构系列】:跳表 SkipList 详解:多层索引、随机晋升与C++ 完整实现(附跳表实现的源码)
开发语言·数据结构·数据库·c++·redis·缓存·skiplist
充值内卷18 分钟前
TauriCPP 基于 WebView2 的轻量级 C++ 桌面应用框架
开发语言·c++
枕星而眠25 分钟前
Linux IO多路复用:select、poll、epoll 核心原理与进阶实战
linux·运维·服务器·c++·后端
jjjlike28 分钟前
三款主流AI编程工具实测对比:以C++自研UI引擎项目为测评基准
c++·ai编程
程序喵大人29 分钟前
C++与C语言的核心区别是啥
c语言·开发语言·c++
飞天狗11134 分钟前
2024第十五届蓝桥杯c/c++B组国赛题解
c语言·数据结构·c++·算法·蓝桥杯
梓䈑34 分钟前
C++ AI模型统一接入引擎(第一篇):项目介绍与环境搭建
c++·人工智能·chatgpt
我不是懒洋洋44 分钟前
【C++】内存管理与模板(C++内存管理方式、new和delete的实现原理、malloc/free和new/delete的区别、函数模板、类模板)
c语言·开发语言·c++·青少年编程·visual studio
z200509301 小时前
【linux学习】深入理解 Linux 下的静态库与动态库
开发语言·c++·算法
王老师青少年编程9 小时前
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝案例实践1)
c++·csp·高频考点·信奥赛·提高组·搜索剪枝·小木棍