• b_lc_具有给定数值的最小字符串(小思维)


    给你两个整数 n 和 k 。返回 长度 等于 n 且 数值 等于 k 的 字典序最小 的字符串。

    思路:简单贪心,由于k的范围为[n,26],所以题目一定有解(最小是aa..aa,最大是zz..zz);
    这里将k提早减去一个n,由于已经让字符串填满了,剩下的事情就是将ans变得字典序尽量考前,也就是大的字符尽量出现在后面

    class Solution {
    public:
        string getSmallestString(int n, int k) {
            string ans; ans.resize(n), k-=n;
            for (int i=n-1; ~i; i--) {
                int t=min(25, k);
                ans[i]=(char)'a'+t, k-=t;
            }
            return ans;
        }
    };
    
  • 相关阅读:
    进程和线程
    关于offer对比
    CVTE面经
    重定向
    奇虎360面试经验
    百纳信息(海豚浏览器)面经
    携程网面经
    百度面经
    位运算
    Cracking the Coding Interview 4.8
  • 原文地址:https://www.cnblogs.com/wdt1/p/14018701.html
Copyright © 2020-2023  润新知