Skip to content

Commit 780ccf0

Browse files
authored
Update 2370-longest-ideal-subsequence.js
1 parent 417993b commit 780ccf0

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

2370-longest-ideal-subsequence.js

+32
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
/**
2+
* @param {string} s
3+
* @param {number} k
4+
* @return {number}
5+
*/
6+
const longestIdealString = function(s, k) {
7+
const n = s.length, a = 'a'.charCodeAt(0)
8+
const dp = Array(26).fill(0)
9+
let res = 0
10+
11+
for(let i = 0; i < n; i++) {
12+
const cur = s[i], curCode = cur.charCodeAt(0)
13+
const tmp = helper(curCode - a) + 1
14+
dp[curCode - a] = tmp
15+
res = Math.max(res, tmp)
16+
}
17+
// console.log(dp)
18+
return res
19+
20+
function helper(end) {
21+
let res = 0
22+
for(let i = Math.max(0, end - k), e = Math.min(25, end + k); i <= e; i++) {
23+
if(dp[i] > res) res = dp[i]
24+
}
25+
26+
return res
27+
}
28+
};
29+
30+
31+
// another
32+
133
/**
234
* @param {string} s
335
* @param {number} k

0 commit comments

Comments
 (0)