leetcode 424. Longest Repeating Character Replacement | 424. 替换后的最长重复字符(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 424. Longest Repeating Character Replacement | 424. 替换后的最长重复字符(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/longest-repeating-character-replacement/
題解
class Solution {public int characterReplacement(String s, int k) {HashSet<Character> seen = new HashSet<>();int max = 0;for (int i = 0; i < s.length(); i++) {if (!seen.contains(s.charAt(i))) {seen.add(s.charAt(i));int L = 0;int R = -1;int curK = 0;while (R < s.length()) {while (R < s.length() && curK <= k) { // R肯定在_上,且不包含_R++;if (R < s.length() && s.charAt(R) != s.charAt(i)) curK++;}max = Math.max(max, R - L); // 左閉右開區間while (L <= R && curK > k) { // 肯定在A上,且包含Aif (s.charAt(L) != s.charAt(i)) curK--;L++;}}}}return max;} }總結
以上是生活随笔為你收集整理的leetcode 424. Longest Repeating Character Replacement | 424. 替换后的最长重复字符(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 39. Combina
- 下一篇: leetcode 423. Recons