Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string getKthCombination(string digits, int k) {
- if (digits.empty()) return "";
- numberMap[2] = "abc";
- numberMap[3] = "def";
- numberMap[4] = "ghi";
- numberMap[5] = "jkl";
- numberMap[6] = "mno";
- numberMap[7] = "pqrs";
- numberMap[8] = "tuv";
- numberMap[9] = "wxyz";
- int n = digits.size();
- vector<int> sizes(n, 1);
- for (int i = n - 2; i >= 0; --i) {
- sizes[i] = sizes[i + 1] * numberMap[digits[i + 1] - '0'].size();
- }
- string result;
- --k;
- for (int i = 0; i < n; ++i) {
- int digit = digits[i] - '0';
- string possibleChars = numberMap[digit];
- int idx = k / sizes[i];
- result += possibleChars[idx];
- k %= sizes[i];
- }
- return result;
- }
Advertisement
Advertisement