子串定义:将给定的字符串去除任意个字符后,例如acb的子串有a、b、c、ab、ac、cb、acb。
子串大小:按照英文字母表的顺序进行排序,如acb的最大子串为cb。
代码如下:
-- 求取字符串的最大子串
function GetMaxSubString(str)
-- body
local str = string.reverse(str)
local ret_str = ""
local curMax = 0
for k=1,#str do
if string.byte(str, k) >= curMax then
ret_str = ret_str .. string.sub(str, k, k)
curMax = string.byte(str, k)
end
end
ret_str = string.reverse(ret_str)
print(str .. "的最大子串为:" .. ret_str)
return ret_str
end
str = GetMaxSubString("dhfaad")
print(str)
运行结果:
daafhd的最大子串为:hfd
hfd