Advertisement

解决方法:在字符串内找到字典序最大的子序列

阅读量:

问题描述

对于任意字符串S来说,其字典序最大的子序列可以通过以下方式构造:首先从字符串开始,逐步选取每个位置上的最大字符.具体来说,给定一个字符串 a_{0}a_{1}...a_{n-1} ,我们从第一个字符开始遍历,找到当前剩余部分中的最大字符 a_i.接着,在剩下的部分 a_{i+1}a_{i+2}...a_{n} 中继续寻找下一个最大字符 a_j.如此反复操作,直到所有可能的选择都被完成.最终所选的所有字符按选取顺序排列起来即为所求的最大字典序子序列.

分析与解答

为了解决这个问题, 首先需要理解字典序的概念. 问题已经解释得非常清楚了, 所以最直接的想法就是反复遍历该字符串. 在每次遍历时寻找该字符串中首次出现的最大元素并提取出来. 将其后续部分作为下一轮需要处理的对象. 通过反复操作可以逐步接近最终目标. 每次操作的结果都需要记录下来 并将这些结果整合到名为largestSubStr的目标变量中.

复制代码
    #给定一个字符串,求字符串中字典序最大的子序列.
    def getLargestSubStr(strs):
    	if strs == None:
    		return
    	largestSubStr = ""
    	while len(strs) > 0:
    		lens = len(strs)

全部评论 (0)

还没有任何评论哟~