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

Leetcode-552 学生出勤记录II

Leetcode-552 学生出勤记录II

  • 1. 题目描述
  • 2. 解题思路
  • 3. 代码实现

1. 题目描述

Leetcode-552 学生出勤记录II

2. 解题思路

(1) 使用记忆化搜索来实现;
(2) 定义f[i][j][k]为右边填写j个A, 且右边相邻位置有k个连续的L的情况下,向左填字母能构造多少个长为i的字符串;
(3) 对于每次填字符有三种可能分别列出其递推表达式,求出最终的结果。

3. 代码实现

const int MOD = 1'000'000'007;class Solution {
public:int checkRecord(int n) {// 定义f[i][j][k]为右边填写j个A, 且右边相邻位置有k个连续的L的情况下// 向左填字母能构造多少个长为i的字符串// 初始化操作int f[n + 1][2][3];for (int i = 0; i <= 1; i++) {for (int j = 0; j <= 2; j++) {f[0][i][j] = 1;}}for (int i = 1; i <= n; i++) {for (int j = 0; j < 2; j++) {for (int k = 0; k < 3; k++) {int res = f[i - 1][j][0]; // 填pif (j == 0) {res = (res + f[i - 1][1][0]) % MOD; // 填A}if (k < 2) {res = (res + f[i - 1][j][k + 1]) % MOD; // 填L}f[i][j][k] = res;}}}return f[n][0][0];}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何在 KubeBlocks 中配置实例模板?
  • Spring之@Bean注解
  • MySQL 如何保证事务的原子性
  • 考完PMP最好的出路!是做项目管理培训讲师!
  • Unity转Unreal5从入门到精通之UMG的使用
  • 网安新声 | 从微软“狂躁许可”漏洞事件看安全新挑战与应对策略
  • STM32后备区域:读写BKP备份寄存器与使用RTC实时时钟详解
  • 倒计时:隐藏删除按钮,点击添加按钮最多显示删除按钮10秒自动隐藏
  • Node.js 文件系统
  • 数据结构与算法——平衡二叉树
  • C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)536: T456455 画矩形
  • 前向传播与反向传播
  • 【Redis】Redis线程与IO模型—(三)
  • Docker最佳实践进阶(二):Docker Compose部署SpringCloud微服务项目
  • ansible环境搭建
  • JS 中的深拷贝与浅拷贝
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Angular6错误 Service: No provider for Renderer2
  • Django 博客开发教程 8 - 博客文章详情页
  • Java程序员幽默爆笑锦集
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • PHP CLI应用的调试原理
  • spring + angular 实现导出excel
  • win10下安装mysql5.7
  • 飞驰在Mesos的涡轮引擎上
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 关于Java中分层中遇到的一些问题
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 提醒我喝水chrome插件开发指南
  • 我有几个粽子,和一个故事
  • 学习HTTP相关知识笔记
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 回归生活:清理微信公众号
  • #Linux(Source Insight安装及工程建立)
  • #前后端分离# 头条发布系统
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (多级缓存)缓存同步
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (力扣题库)跳跃游戏II(c++)
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (四)Controller接口控制器详解(三)
  • (算法)Game
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)视频码率,帧率和分辨率的联系与区别
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?