//贪心 第一次代码
//看答案之后发现不用一个个去试 第二次循环浪费了时间
class Solution {
public:
string getSmallestString(int n, int k) {
int sum = 0;
string ans = "";
for (int i = 0; i < n; i++) {
for (int j = 1; j <= 26; j++) {
if (sum + (n - ans.size() - 1) * 26 + j >= k) {
ans += 'a' + j - 1;
sum += j;
break;
}
}
}
return ans;
}
};
class Solution {
public:
string getSmallestString(int n, int k) {
string ans;
for (int i = 1; i <= n; i++) {
int lower = max(1, k - (n - i) * 26);
k -= lower;
ans.push_back('a' + lower - 1);
}
return ans;
}
};
//作者:力扣官方题解
//链接:https://leetcode.cn/problems/smallest-string-with-a-given-numeric-value/solutions/2075934/ju-you-gei-ding-shu-zhi-de-zui-xiao-zi-f-e0e4/