[leetcode] 1624. Largest Substring Between Two Equal Characters
Description
Given a string s, return the length of the longest substring between two equal characters, excluding the two characters. If there is no such substring return -1.
A substring is a contiguous sequence of characters within a string.
Example 1:
Input: s = "aa"
Output: 0
Explanation: The optimal substring here is an empty substring between the two 'a's.
Example 2:
Input: s = "abca"
Output: 2
Explanation: The optimal substring here is "bc".
Example 3:
Input: s = "cbzxy"
Output: -1
Explanation: There are no characters that appear twice in s.
Example 4:
Input: s = "cabbac"
Output: 4
Explanation: The optimal substring here is "abba". Other non-optimal substrings include "bb" and "".
Constraints:
- 1 <= s.length <= 300
- s contains only lowercase English letters.
分析
題目的意思是:移除兩個相同字串後剩下子串的最大長度,很顯然分別移除位於最左的相同字串就可以了。因此用一個字典儲存字串最左邊的位置,當遍歷到相同的字串維護更新最大長度res就行了。
程式碼
class Solution:
def maxLengthBetweenEqualCharacters(self, s: str) -> int:
d={}
res=-1
for i in range(len(s)):
if(s[i] in d):
res=max(res,i-d[s[i]]-1)
else:
d[s[i]]=i
return res
參考文獻
相關文章
- Leetcode 3 Longest Substring Without Repeating CharactersLeetCode
- Leetcode 3. Longest Substring Without Repeating CharactersLeetCode
- Leetcode javascript 3 longest-substring-without-repeating-charactersLeetCodeJavaScript
- [LeetCode] 3090. Maximum Length Substring With Two OccurrencesLeetCode
- LeetCode Longest Substring Without Repeating Characters(003)解法總結LeetCode
- [LeetCode] 3. Longest Substring Without Repeating Characters 題解LeetCode
- [LeetCode] 1385. Find the Distance Value Between Two ArraysLeetCode
- [LeetCode] 3226. Number of Bit Changes to Make Two Integers EqualLeetCode
- #3 Longest Substring Without Repeating Characters[M]
- LeetCode3:Longest Substring Without Repeating Characters(無重複字元的最長子串)LeetCode字元
- [LeetCode/LintCode] Largest Palindrome ProductLeetCode
- LeetCode Kth Largest Element in an ArrayLeetCode
- leetcode 368. Largest Divisible SubsetLeetCode
- LeetCode 5 (Longest Palindromic Substring)LeetCode
- LeetCode之Find Common Characters(Kotlin)LeetCodeKotlin
- [LeetCode] 451. Sort Characters By FrequencyLeetCode
- Leetcode 231 Power of TwoLeetCode
- Leetcode 1 two sumLeetCode
- LeetCode | 1 Two SumLeetCode
- 【Leetcode】1081. Smallest Subsequence of Distinct CharactersLeetCode
- Leetcode 30 Substring with Concatenation of All WordsLeetCode
- [LeetCode] 416. Partition Equal Subset SumLeetCode
- [LeetCode] 2831. Find the Longest Equal SubarrayLeetCode
- python leetcode 215. Kth Largest Element in an ArrayPythonLeetCode
- Leetcode 29 Divide Two IntegersLeetCodeIDE
- LeetCode 2 Add Two NumbersLeetCode
- LeetCode-1 Two SumLeetCode
- [LeetCode]1.Two SumLeetCode
- LeetCode | 349 Intersection Of Two ArraysLeetCode
- Leetcode 231. Power of TwoLeetCode
- python: leetcode - 1 Two SumPythonLeetCode
- LeetCode之1 bit and 2 bit Characters(Kotlin)LeetCodeKotlin
- [LeetCode] 2275. Largest Combination With Bitwise AND Greater Than ZeroLeetCode
- [LeetCode] 2491. Divide Players Into Teams of Equal SkillLeetCodeIDE
- 【Leetcode】453. Minimum Moves to Equal Array ElementsLeetCode
- leetcode-29. Divide Two IntegersLeetCodeIDE
- LeetCode-2 Add Two NumbersLeetCode
- Leetcode 21 Merge Two Sorted ListsLeetCode