matlab-A序列关于 B序列的多个最长子串

问题描述

A序列关于 B序列的多个最长子串
如果有序列为
A=[01111000110];
B=[10010100110];

定义A/B=[011,110,00110]; 寻找A中的最长前缀且该前缀也存在于B中。

这个用matlab怎么写啊?或者可以提供思路吗?

解决方案

C/C++可以用动态规划,思路是,首先将A和B连接在一起,然后产生一个后缀数组
然后对后缀数组排序
然后比较相邻的两个,有多少相同的。
最后得到相同长度最大的。

解决方案二:
举个例子,比如比较
00101101
10100100
我们首先连接它们
00101101#10100100
然后得到一个如下的数组:

00101101#10100100
0101101#10100100
101101#10100100
01101#10100100
...
00
0
然后对上面的这个后缀数组排序
(这里省略)
...
101101#10100100
10100100
101#10100100
...
很明显这三项排在一起。因为我们比较的是两个数据,所以,有#的必须和没有#的比。
这里
101101#10100100
10100100
前三个相同
或者
10100100
101#10100100
前三个相同。

比较别的相邻的项,没有超过3个的。
所以结果就是101

解决方案三:
a=00101101;
b=10100100;

大侠,你好,我是想要得到这样的序列c=a/b=0010,1,101

解决方案四:
使用正则表达式呀,哥们。这个思路。

时间: 2024-10-30 08:57:18

matlab-A序列关于 B序列的多个最长子串的相关文章

用m序列对图像加密解密MATLAB

问题描述 用m序列对图像加密解密MATLAB 要求用m序列对版权标识加密,加密后能嵌入到其他图像并且可提取,并能够用m序列对提取的版权标识解密,求大神赐教,网上找不到m序列加密,m序列和混沌序列有什么区别?

ORACLE中序列-sequence的应用

oracle oracle中没有象Acces中自动编号的字段类型,所以在oracle中要想用一个字段自动增值,还比较麻烦,在此提供给大家一个方法,利用序列,来完成字段的自动增加,下边介绍一下怎么创建序列,使用序列,和删除序列. 1.创建序列--------------create sequence  create sequence  Seq_AutoID   //所起序列名叫 Seq_AutoID ,需要记住此序列名,以后方可调用 minvalue   1   //最小值从1开始 可以根据自己的

Python序列的切片操作与技巧

序列 序列(consequence)是python中一种数据结构,这种数据结构根据索引来获取序列中的对象. python中含有六种内建序列类:list, tuple, string, unicode, buffer, xrange.其中xrange比较 特殊,它是一个生成器,其他几个类型具有的一些序列特性对它并不适合. 一般说来,具有序列结构的数据类型都可以使用:index, len, max, min, in, +, *, 切片.如: >>> a = 'Iloveyou' >&g

MySQL中如何实现类似Oracle的序列

Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的: 但在实际使用过程中发现,MySQL的自增长有诸多的弊端:不能控制步长.开始索引.是否循环等:若需要迁移数据库,则对于主键这块,也是个头大的问题. 本文记录了一个模拟Oracle序列的方案,重点是想法,代码其次. Oracle序列的使用,无非是使用.nextval和.currval伪列,基本想法是:1.MySQL中新建表,用于存储序列名称和值:2.创建函数,用于获取序列表

用Oracle解析函数快速检查序列间隙

数据库表格中经常用到值序列.无论是作为数据本身自然产生的,还是由Oracle 的序列对象分配的,它的目的就是用一个唯一的.递增的数字给每一行编号. 在编号的过程中,产生间隙的原因多种多样.如果一个存储过程从一个序列中挑选某个数字,定为本地变量,但是从来不用它,这个数字就丢失了.它将不能再返回到原序列中,结果就造成数值序列中存在一个间隙.关系型数据库模型中不必担心这一点.但是有时候人们在意这一点,这些人想知道是哪些数字丢失了. 一个显而易见的方式就是用PL/SQL,在已排序指针中循环,并且用一个本

oracle数据库开发中序列的使用

序列的概念: 序列是一数据库对象,利用它可生成唯一的整数. 一般使用序列自动地生成主码值.一个序列的值是由特殊的Oracle程序自动生成,因此序列避免了在应用层实现序列而引起的性能瓶颈. Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的.当一个序列号生成时,序列是递增,独立于事务的提交或回滚.允许 设计缺省序列,不需指定任何子句.该序列为上升序列,由1开始,增量为1,没有上限. 1: 建立序列命令 CREATE SEQUENCE [user.]sequence_name [incr

Oracle学习(二十二) 序列(sequence)

当一个序列第一次被调用时,它将返回一个预定值,在以后的每一次查询调用中,序列将产生一个按 其指定的增量得到的值. 1.创建序列 语法格式如下: create sequence [schema.]sequence_name [increment by incre_value] --每次的增量,默认是1*/ [start with start_value] --初始值*/ [maxvalue integer | nomaxvalue] --最大值*/ [minvalue integer | nomi

Java建模: UML工作簿, 第2部分――序列图中的条件逻辑

我在介绍性专栏中曾经解释过,序列图用于描述系统随时间而产生的内部行为.因为系统行为是对象相互之间发送消息的结果,因此序列图绘制了那些消息在对象之间移动时的路线.归根结底,序列图就是交互图.在前一部分中,尽管我们描述了无数交互,但只创建了一个相当简单的图.这次,我们将做进一步的研究,看看 UML 指定的序列图的两种形态.这两种形态是 常规和 实例.让我们从每种形态的正确应用开始. 序列图的两种类型 序列图用于描述对象之间两种不同类型的交互.一种交互类型是 必须 (must) 交互,其中对象 A 必

Excel2010自定义填充序列如何设置

  1.打开Excel表格,选中需要快速填充的自定义内容 2.接着点击工具栏的"文件"→"选项" 3.接着点击"高级",在高级里找到"常规"选项,并点击"编辑自定义列表" 4.我们可以从单元格导入序列或者手动输入序列都可以.输入完毕后点击确认即可. 5.返回文档当我们下拉的时候就能自动填充员工姓名啦,是不是很方便呢?