首页 > 其他分享 >代码随想录 day 44 最长公共子序列 | 不相交的线 | 最大子序和 | 判断子序列

代码随想录 day 44 最长公共子序列 | 不相交的线 | 最大子序和 | 判断子序列

时间:2024-08-03 21:39:29浏览次数:14  
标签:知识点 44 随想录 相交 子序 公共 序列 最长

最长公共子序列

最长公共子序列

解题思路

本题dp数组的含义是最长公共序列,而后同时遍历两个字符串,遇到相同的字母是公共子序列+1,否则取两个字符串的公共子序列中较长的一个。

知识点

动态规划,子序列

心得

没有想到比较两个字符串的公共子序列。我自己是遇到相同字母时将所有后续的长度都设置为该长度,这样做也能实现,但是运行速度很慢。

不相交的线

不相交的线

解题思路

不相交的线就是找最长的公共子序列,该子序列中的线都不会相交。

知识点

最长公共子序列

心得

跟最长公共子序列的做法一摸一样

最大子序和

最大子序和

解题思路

和贪心的算法类似,dp数组的含义在本题代表着以i结尾时的最大值,当和小于零时别忘记将值重新设置为0,以此保证最大值。

知识点

贪心,动态规划

心得

做过了贪心就会发现这道题非常类似。

判断子序列

判断子序列

解题思路

也是找最长公共子序列,但是这次只关注字符串t,s的子序列长短不用管他

知识点

动态规划

心得

简单的题目

标签:知识点,44,随想录,相交,子序,公共,序列,最长
From: https://www.cnblogs.com/TKK-YLF/p/18341108

相关文章

  • 最长上升子序列LIS(一般+优化)
    1.题目题目链接:B3637最长上升子序列-洛谷|计算机科学教育新生态(luogu.com.cn)输入样例:6124134输出样例:4说明/提示:分别取出 1、2、3、4 即可。2.具体实现2.1一般做法   dp[i]表示第i个位置的最长上升子序列个数//思路://dp[i]表示第i个位置的......
  • ORA-07445 opiaba()+639 ORA-00600 17147数据库宕机
    /u01/app/oracle/diag/rdbms/testaa/testaa/traceThuAug0112:43:372024ArchivedLogentry46044addedforthread1sequence23032ID0x860b01b0dest1:ThuAug0112:51:362024Exception[type:SIGSEGV,SI_KERNEL(general_protection)][ADDR:0x0][PC:0x1......
  • 代码随想录算法训练营Day18 | Leetcode 530 二叉搜索树的最小绝对差 Leetcode 236 二
    前言今天有一道题目没写,二叉搜索树中的众数,有点太难理解了,先放一放。Leetcode530二叉搜索树的最小绝对差题目链接:530.二叉搜索树的最小绝对差-力扣(LeetCode)代码随想录题解:代码随想录(programmercarl.com)思路:二叉搜索树的性质是中序遍历为升序的,所以我们想找最小绝......
  • 代码随想录day32 || 509斐波那契数列 70爬楼梯 746使用最小花费爬楼梯
    509斐波那契数列力扣题目链接题目描述:斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1) =1F(n)=F(n-1)+F(n-2),其中n>1给定 n ,请计算 F(n) 。代码1......
  • 代码随想录day31|| 56合并区间 738 递增数字
    56合并区间 力扣题目链接题目描述:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i]=[starti,endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。示例1:输入:intervals=[[1,3],[2,6],[8,10],[1......
  • 基础实验3-2.4 出栈序列的合法性
    给定一个最大容量为m的堆栈,将n个数字按1,2,3,...,n的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定m=5、n=7,则我们有可能得到{1,2,3,4,5,6,7},但不可能得到{3,2,1,7,5,6,4}。输入格式:输入第一行给出3个不超过1000的正整数:m......
  • 【代码随想录】图论复习(Python版)
    深度优先搜索1.搜索过程一个方向搜,不到黄河不回头,直到遇到绝境了,搜不下去了,再换方向(换方向的过程就涉及到了回溯)2.代码框架回溯法的代码框架:defbacktracking(参数):if终止条件:存放结果returnfor选择本层集合中的元素(树中节点孩子的数量......
  • 【代码随想录】数组篇
    一、二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。二分查找的前提有序数组,无重复元素二分法的写法1.左闭右闭,即[left,right]而(左<=右)如果nums[mid]>......
  • 【PHP系列】PHP反序列化--字符逃逸
    概念了解字符逃逸前需要的补充知识点一知识点二字符逃逸—字符增加字符逃逸—字符减少概念在学PHP字符串逃逸之前先了解一下原理是什么,字符串逃逸的原理其实就是让字符串变成可以执行的序列化代码。在序列化和反序列化这个中间过程中,序列化字符增加或减少后,再去反序列化......
  • AGC044B 题解
    考虑每次更新就跑一遍bfs。\(O(n^4)\),复杂度不对?但是注意到\(dis\)的最大值也就是\(n\),每次更新\(dis\)至少减一。所以最大值最多被更新\(n\)次,一共更新\(O(n^3)\)次,复杂度是对的。直接暴力。#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;......