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

爬楼梯变式

2466. 统计构造好字符串的方案数 - 力扣(LeetCode)

解析见注释:

class Solution 
{
public:int countGoodStrings(int low, int high, int zero, int one) {//每次能爬zero或one个台阶,问爬的台阶数在low到high之间的方案数const int MOD=1'000'000'007;int ans=0;vector<int>dp(high+1);//dp[i]表示构造长为i的字符串的方案数dp[0]=1;//构造空串有1种方法for(int i=1;i<=high;i++){//有两种方法可以得到长度为i的字符串//1.在长度为i-zero的串后添加zero个0//2.在长度为i-one的串后添加one个1//由于最后一个字符不可能既是0又是1,因此dp[i]等于两者之和//对于1,要有:i>=zero,对于2要有:i>=one,但这并不是“且”的关系//所以不能直接写dp[i]=dp[i-zero]+dp[i-one],要拆成两步if(i>=zero) dp[i]=dp[i-zero];//无需取模,因为方案数并没有增加if(i>=one) dp[i]=(dp[i]+dp[i-one])%MOD;//提前取模,否则可能已经算出爆内存的数字但还在往后算if(i>=low) ans=(ans+dp[i])%MOD;}return ans;}
};

http://www.xdnf.cn/news/18472.html

相关文章:

  • Unreal Engine ATriggerVolume
  • [TG开发]部署机器人
  • Unreal Engine AActor
  • 【typenum】 22 类型级别二进制对数运算(Logarithm2)
  • 【Java SE】深入理解继承与多态
  • openstack的novnc兼容问题
  • GitCode 疑难问题诊疗:全面指南与解决方案
  • 94. 城市间货物运输 I, Bellman_ford 算法, Bellman_ford 队列优化算法
  • 智慧工厂烟雾检测:全场景覆盖与精准防控
  • Java基础 8.22
  • 2-3.Python 编码基础 - 类型检测与类型转换
  • 集成电路学习:什么是SVM支持向量机
  • AI 大模型 “进化史”:从参数竞赛到场景落地,技术突破藏着哪些逻辑?
  • Unreal Engine UFloatingPawnMovement
  • 【ECharts】2. ECharts 性能优化
  • kafka的rebalance机制是什么
  • CentOS 10安装Ollama
  • 12-Linux系统用户管理及基础权限
  • 机试备考笔记 18/31
  • Nginx(一)认识Nginx
  • Eino 开源框架全景解析 - 以“大模型应用的搭积木指南”方式理解(一)
  • Azure TTS Importer:一键导入,将微软TTS语音接入你的阅读软件!
  • LeetCode 3195.包含所有 1 的最小矩形面积 I:简单题-求长方形四个范围
  • 【ElasticSearch】IK分词器安装,配置修改,支持新增词组,中文常用mapping使用案例
  • 微前端qiankun框架,子页面图标样式错乱问题,显示为X
  • 人脸识别驱动的工厂人体属性检测与预警机制
  • Conmi的正确答案——Ubuntu24.04禁用任何休眠
  • huggingface离线下载模型使用方法
  • CAN总线工具学习:DBC解析、设备扫描与报文监控
  • Logstash——性能、可靠性与扩展性架构