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

leetcode 115. 不同的子序列

2023.8.25

         使用dp数组解决。 定义一个二维dp数组,dp[i][j]的含义为:字符串s(下标为i-1)中,子序列t(下标为j-1)出现的个数。 

        当字符串s[i-1]和t[j-1]相同时,递推公式为:dp[i][j] = dp[i-1][j-1] + dp[i][j-1]; 不相同时,dp[i][j] = dp[i][j-1];

        初始化需要将第一行全初始化为1。 下面看代码:

class Solution {
public:int numDistinct(string s, string t) {vector<vector<uint64_t>> dp(t.size()+1,vector<uint64_t>(s.size()+1,0));//初始化第一行for(int i=0; i<=s.size(); i++) dp[0][i] = 1;for(int i=1; i<=t.size(); i++){for(int j=1; j<=s.size(); j++){if(t[i-1] == s[j-1]) dp[i][j] = dp[i-1][j-1] + dp[i][j-1];else dp[i][j] = dp[i][j-1];}}return dp[t.size()][s.size()];}
};

http://www.lryc.cn/news/139362.html

相关文章:

  • gradio应用transformer模块部署生成式人工智能应用程序
  • 【目标检测】“复制-粘贴 copy-paste” 数据增强实现
  • 深度学习知识总结2:主要涉及深度学习基础知识、卷积神经网络和循环神经网络
  • Spring Boot 集成 WebSocket 实现服务端推送消息到客户端
  • vr游乐场项目投资方案VR主题游乐馆互动体验
  • chrom扩展开发配合百度图像文字识别实现自动登录(后端.net core web api)
  • 香港服务器怎么打开SSH
  • 【LeetCode】437.路径总和Ⅲ
  • Mybatis-plus中操作JSON字段
  • 第十五课、Windows 下打包发布 Qt 应用程序
  • 【php】windows下php运行已有php web项目环境配置教程
  • 【mybatis】 mybatis在mysql 更新update 操作 更新时间字段按照年月日时分秒格式 更新为当前时间...
  • C++动态规划经典案例解析之合并石子
  • go MongoDB
  • 算法与数据结构(八)--优先队列
  • React 全栈体系(三)
  • 腾讯云下一代CDN -- EdgeOne加速MinIO对象存储
  • GitLab-CI 指南
  • MyBatis的核心技术掌握,简单易懂(上)
  • Redisson自定义序列化
  • MongoDB Long 类型 shell 查询
  • 回归预测 | MATLAB实现GA-APSO-IBP改进遗传-粒子群算法优化双层BP神经网络多输入单输出回归预测
  • Spring cache整合Redis使用介绍
  • Metasploit提权
  • TypeScript三种特殊类型
  • 如何使用CSS实现一个响应式轮播图?
  • 数据生成 | MATLAB实现MCMC马尔科夫蒙特卡洛模拟的数据生成
  • 【从零开始的rust web开发之路 二】axum中间件和共享状态使用
  • Vue操作时间
  • 数据库——Redis 常见数据结构以及使用场景分析