FoxAndHandle
作者:高杰
关键词:字符串 贪心
题目简述
给定一个字符串,求一个字典序最小的子序列,使在中删除后得到的子序列为的一个排列。
数据范围
,只包含小写字母,保证有解。
算法一
显然,一个子序列合法的充要条件是,对于a-z的任意一个字母,它在中出现的次数恰为在中的一半。
因此很容易想到一个逐位贪心的算法。对于每一位我们贪心地选取合法的、字典序最小的字母。
判定一个字母是否合法,只需要统计这个字母已经使用了多少次、以及在这个位置之后,每种字母还有多少个剩余。
简单实现的时间复杂度在以内,怎么写都可以过。