Skip to content

Commit 949ce42

Browse files
authored
Create longest-ideal-subsequence.cpp
1 parent 6c4c57f commit 949ce42

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

C++/longest-ideal-subsequence.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Time: O(n)
2+
// Space: O(1)
3+
4+
// dp
5+
class Solution {
6+
public:
7+
int longestIdealString(string s, int k) {
8+
vector<int> dp(26);
9+
for (const auto& c : s) {
10+
const int x = c - 'a';
11+
dp[x] = *max_element(cbegin(dp) + max(x - k, 0), cbegin(dp) + min(x + k + 1, 26)) + 1;
12+
}
13+
return *max_element(cbegin(dp), cend(dp));
14+
}
15+
};

0 commit comments

Comments
 (0)