leetcode 1663. 具有给定数值的最小字符串-Smallest String With A Given Numeric Value

张开发
2026/4/15 0:00:04 15 分钟阅读

分享文章

leetcode 1663. 具有给定数值的最小字符串-Smallest String With A Given Numeric Value
Problem: 1663. 具有给定数值的最小字符串-Smallest String With A Given Numeric Value前面的a越多越好的所以a的个数从n开始共三种可能第一种a…az…zi (n-i) * 26 k只有a和z没有其他字符第二种a…a [b-y] z…zk - (i (n-i-1) * 26) 26前面是a后面是z中间一个字符[b-y]第三种a…a [a-y]此时没有z前面是a最后一个字符是[b-y]也就是三种可能的组合Codeclass Solution { public: string getSmallestString(int n, int k) { if(n k) return string(n, a); string ret; for(int i n; i 0; i--) { if(i (n-i) * 26 k) { ret string(i, a) string(n-i, z); break; } else if(k - (i (n-i-1) * 26) 26) { string t; t k - (i (n-i-1) * 26) - 1 a; ret string(i, a) t string(n-i-1, z); break; } else if(i n k - i 26) { string t; t k - i - 1 a; ret string(i, a) t; break; } } return ret; } };

更多文章