贪心算法,从最后向前填充构造字典序列最小值,字符串初始为n个'a',这样在保证了字符串长度,如果不预先从k中减去n个a,那么在我们计算过程中,有可能会生成小于n个字符的结果,处理起来比较麻烦。
class Solution {
public:
//计算生成字典序最小字符串,贪心算法,从后面开始先使用最大z
string getSmallestString(int n, int k) {
string res(n,'a');
k -= n;
int i = n - 1;
while(k > 0) {
int fill = min(k,25);
k -= 25;
res[i--] += fill;
}
return res;
}
};