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

Day53 动态规划part14 1143. 最长公共子序列 1035. 不相交的线 53. 最大子数组和

Day53 动态规划part14 1143. 最长公共子序列 1035. 不相交的线 53. 最大子数组和

1143. 最长公共子序列

class Solution {
public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>> dp(text1.size()+1,vector<int>(text2.size()+1,0));//长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列为dp[i][j]for(int i =1; i<=text1.size();i++){for(int j = 1; j<=text2.size();j++){if(text1[i-1]==text2[j-1]) dp[i][j] = dp[i-1][j-1] +1;else dp[i][j] = max(dp[i-1][j],dp[i][j-1]);}}return dp[text1.size()][text2.size()];}
};

1035. 不相交的线

问题转化为求最长相同子序列

class Solution {
public:int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>> dp(nums1.size()+1, vector<int>(nums2.size()+1)); //nums1.size()+1 * nums2.size()+1)矩阵,第一行和第一列初始化数值为默认值0for(int i = 1; i<=nums1.size();i++){for(int j = 1; j<=nums2.size();j++){if(nums1[i-1]==nums2[j-1]) dp[i][j] = dp[i-1][j-1] +1;else dp[i][j] = max(dp[i-1][j],dp[i][j-1]);}}return dp[nums1.size()][nums2.size()];}
};

53. 最大子数组和

class Solution {
public:int maxSubArray(vector<int>& nums) { //贪心,一旦有0,重新找起点计数
//         int result = INT32_MIN;
//         int count = 0;
//         for(int j = 0; j<nums.size();j++){
//             count += nums[j];
//             result = count > result ? count : result;
//             count = count < 0 ? 0 :count;
//         }
//  return result;vector<int> dp(nums.size());if (dp.size()==0) return 0;dp[0] = nums[0];int result = dp[0];for(int i = 1; i<nums.size();i++){dp[i] = max(dp[i-1]+nums[i],nums[i]);result = (result>dp[i])?result:dp[i];}return result;}
};

相关文章:

  • 在中国如何方便地使用GPT Plus?
  • 【Java 设计模式】行为型之中介者模式
  • c语言实战之贪吃蛇
  • Flutter pubspec.yaml添加三方库、插件依赖时版本号前面的^作用
  • 如何领导规模化敏捷变革?
  • 【数据结构四】栈与Stack详解
  • 05.领域驱动设计:认识领域事件,解耦微服务的关键
  • openssl3.2/test/certs - 074 - CT entry
  • Spring MVC 基本知识
  • 【Docker】Docker学习⑨ - 单机编排之Docker Compose
  • 嵌入式学习第十三天
  • 林浩然的Java奇幻之旅:编码舞蹈、编程精灵与IDE仙境
  • ###C语言程序设计-----C语言学习(6)#
  • 【运维】Ubuntu18.04系统docker方式安装ElasticSearch和kibana
  • Linux CPU 负载说明
  • __proto__ 和 prototype的关系
  • css选择器
  • Git初体验
  • Java反射-动态类加载和重新加载
  • Laravel Mix运行时关于es2015报错解决方案
  • Selenium实战教程系列(二)---元素定位
  • Spark RDD学习: aggregate函数
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • ucore操作系统实验笔记 - 重新理解中断
  • 半理解系列--Promise的进化史
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 服务器从安装到部署全过程(二)
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 力扣(LeetCode)22
  • 让你的分享飞起来——极光推出社会化分享组件
  • 推荐一个React的管理后台框架
  • 网页视频流m3u8/ts视频下载
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 译米田引理
  • UI设计初学者应该如何入门?
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • # Panda3d 碰撞检测系统介绍
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (2.2w字)前端单元测试之Jest详解篇
  • (Git) gitignore基础使用
  • (Java数据结构)ArrayList
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (一)基于IDEA的JAVA基础1
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .net中我喜欢的两种验证码
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [BZOJ 3282] Tree 【LCT】