摘要:表示某個最后一次出現(xiàn)的地方可能只包含一種或者兩種只包含一種強制保持出現(xiàn)兩種保證,為了計算方便出現(xiàn)第三種的時候,直接計算出當前長度。
Given a string, find the length of the longest substring T that contains at most 2 distinct characters. For example, Given s = “eceba”, T is "ece" which its length is 3.
p1, p2 表示某個char最后一次出現(xiàn)的地方. longest substring可能只包含一種char, 或者兩種char. 1. 只包含一種Char, 強制保持p1 == p2 2. 出現(xiàn)兩種char, 保證p1 <= p2, 為了計算方便 3. 出現(xiàn)第三種char的時候,i - (p1+1) + 1 = i- p1 直接計算出當前substring長度。同時保證p1<=p2.
public class Solution { public int lengthOfLongestSubstringTwoDistinct(String s) { if(s == null || s.length() == 0) return 0; int p1 = 0, p2 = 0, len = 1, max = 1; char[] arr = s.toCharArray(); for(int i = 1; i < arr.length; i++){ // third char appear if(p1 != p2 && arr[i] != arr[p1] && arr[i] != arr[p2]){ if(len > max) max = len; len = i - p1; p1 = p2; p2 = i; } else { // same char as p1 and p2 if(arr[i] == arr[p1]){ p1 = p1 == p2 ? i : p2; } len++; p2 = i; } } if(len > max) max = len; return max; } }
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70087.html
摘要:題目解法最重要的是把最后一次出現(xiàn)的這個的記在的里面。所以當出現(xiàn)不止兩個的數(shù)的時候,把這個最低的刪掉,把最的加就可以啦 題目:Given a string, find the length of the longest substring T that contains at most 2 distinct characters. For example, Given s = eceba...
Problem Given a string s , find the length of the longest substring t that contains at most 2 distinct characters. Example 1: Input: ecebaOutput: 3Explanation: t is ece which its length is 3.Example ...
摘要:最新思路解法哈希表法復雜度時間空間思路我們遍歷字符串時用一個哈希表,但這個哈希表只記錄兩個東西,一個字母和它上次出現(xiàn)的時的下標,另一個字母和它上次出現(xiàn)時候的下標。這個通過用哈希表記錄字母上次出現(xiàn)的下標,來維護一個窗口的方法也可以用于。 Longest Substring with At Most Two Distinct Characters 最新思路解法:https://yanjia...
摘要:使用而不是因為我們需要的是最值,中間值我們不在乎,所以一次收斂到最小。下面來三個需要查重并且記錄上次出現(xiàn)的位置,選擇以為例,走到用做檢查,發(fā)現(xiàn)出現(xiàn)過,把移到的下一個。是上個題目的簡易版,或者特殊版。 這里聊一聊解一類問題,就是滿足某一條件的substring最值問題。最開始我們以Minimum Window Substring為例,并整理總結leetcode里所有類似題目的通解。 Gi...
摘要:每次搜索中,我們通過哈希表維護一個窗口,比如中,我們先拿出。如果都不在數(shù)組中,那說明根本不能拼進去,則哈希表全部清零,從下一個詞開始重新匹配。 Substring with Concatenation of All Words You are given a string, s, and a list of words, words, that are all of the same...
閱讀 1260·2021-11-23 09:51
閱讀 1628·2021-11-16 11:45
閱讀 4014·2021-10-09 09:43
閱讀 2682·2021-07-22 16:47
閱讀 944·2019-08-27 10:55
閱讀 3449·2019-08-26 17:40
閱讀 3083·2019-08-26 11:39
閱讀 3228·2019-08-23 18:39