반응형
https://leetcode.com/problems/largest-substring-between-two-equal-characters
각 문자가 처음 나온 위치를 기억해두고, 동일한 두 문자 사이 서브스트링의 최대 길이를 업데이트해줍니다.
class Solution {
public:
int maxLengthBetweenEqualCharacters(string s) {
int idx[26], res = 0;
memset(idx, -1, sizeof(idx));
for(int i=0; i<s.size(); i++) {
if(idx[s[i] - 'a'] == -1) {
idx[s[i] - 'a'] = i;
} else {
res = max(res, i - idx[s[i] - 'a']);
}
}
return res - 1;
}
};
반응형
'Algorithm' 카테고리의 다른 글
LeetCode 2610. Convert an Array Into a 2D Array With Conditions (0) | 2024.01.02 |
---|---|
LeetCode 455. Assign Cookies (0) | 2024.01.01 |
LeetCode 1897. Redistribute Characters to Make All Strings Equal (0) | 2023.12.30 |
LeetCode 1335. Minimum Difficulty of a Job Schedule (0) | 2023.12.29 |
LeetCode 1155. Number of Dice Rolls With Target Sum (0) | 2023.12.27 |