java: add «2370. Longest Ideal Subsequence»

Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
Matej Focko 2024-04-25 10:09:26 +02:00
parent c45234e58f
commit e3d66b09ab
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,24 @@
class Solution {
public int longestIdealString(String s, int k) {
int[] lengths = new int[26];
int longest = 0;
for (int i = 0; i < s.length(); ++i) {
int c = s.charAt(i) - 'a';
int longestIncluding = 0;
for (int pred = 0; pred < 26; ++pred) {
if (Math.abs(pred - c) > k) {
continue;
}
longestIncluding = Math.max(longestIncluding, lengths[pred]);
}
lengths[c] = Math.max(lengths[c], longestIncluding + 1);
longest = Math.max(longest, lengths[c]);
}
return longest;
}
}