Skip to content

Commit 8aeb042

Browse files
authored
Create 1663-smallest-string-with-a-given-numeric-value.js
1 parent 3742f8b commit 8aeb042

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @param {number} n
3+
* @param {number} k
4+
* @return {string}
5+
*/
6+
const getSmallestString = function(n, k) {
7+
let arr = Array(n).fill(1)
8+
k -= n
9+
for(let i = n - 1; i >= 0; i--) {
10+
if(k > 0) {
11+
const delta = 26 - arr[i]
12+
if(k >= delta) {
13+
k -= delta
14+
arr[i] = arr[i] + delta
15+
} else {
16+
arr[i] = arr[i] + k
17+
k = 0
18+
}
19+
} else break
20+
}
21+
const str = 'abcdefghijklmnopqrstuvwxyz'
22+
const m = {}
23+
for(let i = 0; i < 26; i++) {
24+
m[i + 1] = str[i]
25+
}
26+
const res = []
27+
for(let i = 0; i < n; i++) {
28+
res[i] = m[arr[i]]
29+
}
30+
return res.join('')
31+
};

0 commit comments

Comments
 (0)