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

@ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)

@ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)

Day53、动态规划(包含题目 ● 392.判断子序列 ● 115.不同的子序列 )

392.判断子序列

题目描述

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。

题目解答

bool isSubsequence(char* s, char* t) {int s1=strlen(s);int t1=strlen(t);int dp[s1+1][t1+1];memset(dp,0,sizeof(dp));for(int i=1;i<s1+1;i++){for(int j=1;j<t1+1;j++){if(s[i-1]==t[j-1]){dp[i][j]=dp[i-1][j-1]+1;}else{dp[i][j]=dp[i][j-1];}}}return dp[s1][t1]==s1;
}

题目总结

dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。。

115.不同的子序列

题目描述

给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。

题目解答

int numDistinct(char* s, char* t) {int s1=strlen(s);int t1=strlen(t);int dp[s1+1][t1+1];//t出现的次数for(int i=0;i<s1+1;i++){dp[i][0]=1;}for(int j=0;j<t1+1;j++){dp[0][j]=0;}dp[0][0]=1;for(int i=1;i<s1+1;i++){for(int j=1;j<t1+1;j++){if(s[i-1]==t[j-1]){dp[i][j]=(dp[i-1][j-1]+dp[i-1][j])%(1000000000+7);}else{dp[i][j]=dp[i-1][j];}}}return dp[s1][t1];
}

题目总结

dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。

相关文章:

  • 第五章、策略模式
  • win10开机黑屏,只有鼠标,解决方案
  • 【鸿蒙 HarmonyOS 4.0】状态管理
  • 【更换yarn的位置】解决yarn和nodejs不在同一盘下产生的某些命令应用失败问题
  • Python实战:xlsx文件的读写
  • [程序员] sipp运行时socket接收队列持续满载 - 文件系统访问慢
  • PostgreSQL 的实体化视图介绍
  • android 15
  • 服务器丢包的原因及解决方法
  • Vue30 自定义指令 函数式 对象式
  • react18加antd新手上路使用
  • Golang 并发 Channel的用法
  • 智慧物业信息管理系统平台及APP建设项目
  • 第2讲:C语言数据类型和变量
  • 代理模式笔记
  • [iOS]Core Data浅析一 -- 启用Core Data
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • ES6--对象的扩展
  • java2019面试题北京
  • java中的hashCode
  • JS笔记四:作用域、变量(函数)提升
  • JS变量作用域
  • mysql innodb 索引使用指南
  • Node 版本管理
  • PAT A1050
  • python大佬养成计划----difflib模块
  • SAP云平台里Global Account和Sub Account的关系
  • vue2.0项目引入element-ui
  • vue-router的history模式发布配置
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • vue脚手架vue-cli
  • 阿里云Kubernetes容器服务上体验Knative
  • 百度小程序遇到的问题
  • 多线程 start 和 run 方法到底有什么区别?
  • 面试总结JavaScript篇
  • 日剧·日综资源集合(建议收藏)
  • 如何利用MongoDB打造TOP榜小程序
  • 自定义函数
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #android不同版本废弃api,新api。
  • $refs 、$nextTic、动态组件、name的使用
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (八)Spring源码解析:Spring MVC
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模