有一个字符串,其中包含了多个数字子串,要求求出最长的递增数字子串,比如,s='asdf1123as456df112365asdfa'中最长递增数字子串是11236.
string="asdfasdfasdf1111112222222356789462124asdfasdfasdfa9874563214756asdfasdfasdfasdfasdfasdfalkjlaskdjflkasdf124578"
s=string.scan(/\d+/)
#t=s[1].split //
#puts t.size
#print t,"\n"
ss=[]
hash={}
max=tt=0
s.each do |t|
t=t.split //
for i in 0...(t.size)
if(t[i+1]&&t[i+1]>=t[i])
ss<<t[i]
tt+=1
if(tt>max)
max=tt
hash[ss.join('')]=max
end
else
ss<<t[i]
hash[ss.join('')]=ss.size
ss=[]
tt=0
end
end
end
puts hash.sort_by {|k,v|k.size}.last[0]
#puts hash
应该会有更简洁的方法的,慢慢再想!!!!
分享到:
相关推荐
寻找最长不重复子串 python代码
求解最大子序列、最长递增子序列、最长公共子串、最长公共子序列. http://blog.csdn.net/ssuchange/article/details/17341693
编写程序求出所给出的字符串中最长的字母子串(以非字母隔开)。例如字符串"Apple$12pear watermelon $ # Banana"中最长的字母子串为"watermelon"。有详细的解释
【华为OD机试真题2023JAVA】寻找符合要求的最长子串.html
两个字符串里求最长的公共子串
7-6 最长对称子串 (25分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的...
本文实例讲述了Python实现针对给定字符串寻找最长非重复子串的方法。分享给大家供大家参考,具体如下: 问题: 给定一个字符串,寻找其中最长的重复子序列,如果字符串是单个字符组成的话如“aaaaaaaaaaaaa”那么...
找到字符串中最长的回文子串,并返回其长度
查找两个字符串a,b中的最长的公共子串,并将结果输出
输入一个字符串,求出其中最长的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和xyyxyyx。在判断时,应该忽略所有标点符号和空格,且忽略大小写,但输出应该...
最长公共子串的快速搜索算法 最长公共子串的快速搜索算法 最长公共子串的快速搜索算法
最长回文子串
在随意给出的2个字符串中,找出它们共同的最长的子串。 【输入】 输入文件的第一行为一个整数2,接下来有2行,每行为一个字符串,每个字符串的长度均小于255。 【输出】 输出只有一行,即:共同的最长子串,若有多个...
本文实例讲述了C语言求两个字符串的最长公共子串的方法。分享给大家供大家参考。具体实现方法如下: #include "stdio.h" #include "string.h" #include "stdlib.h" void getCommon(char str1[],char str2[],char * ...
最长公共子串求解,有需要的可以下来参考……
最长回文子串,算法还算可以,能运行通过,运行时间也不长
求两个字符数组的最长公共子串的问题,使用动态规划法,java语言实现。
自己编的,望大家指点!这是西工大期末考试的题目,做了好久才做出来
把两个源字符串分别放在两个文本文件里,再把这两个文本文件放在程序所在目录下,运行时输入两个文件名就可以了.