leetcode 424 雙指標模板

2021-10-18 19:21:23 字數 777 閱讀 8693

每次一遇見雙指標就頭疼,主要還是模板不到位。就像二分一樣,有乙個好的模板事半功倍。這次也看到了乙個好的雙指標模板:右邊每次只動乙個,到最右就停止。左邊看條件動,用counter統計區間條件。

雙指標一般對應區間問題,此題可理解為選乙個最大區間,裡面最多出現的元素不少於n-k個,之後用雙指標就非常舒服了。

class

solution

:def

characterreplacement

(self, s:

str, k:

int)

->

int:

n =len(s)

ret =

0 left, right =0,

0 counter = counter(

)while right < n:

# 更新counter

counter[s[right]]+=

1# 左指標移動直至滿足條件

while left < right and counter.most_common(1)

[0][

1]+k < right-left+1:

counter[s[left]]-=

1 left +=

1if right-left+

1> ret:

ret = right-left+

1 right +=

1return ret

LeetCode 424 替換後的最長重複字元

這道題直接照搬了官方題解,接下來認真刷兩道滑動視窗吧。給你乙個僅由大寫英文本母組成的字串,你可以將任意位置上的字元替換成另外的字元,總共可最多替換k次。在執行上述操作後,找到包含重複字母的最長子串的長度。注意 字串長度 和k不會超過104。示例1 輸入 s abab k 2 輸出 4 解釋 用兩個 ...

Leetcode 題解 雙指標

雙指標 有序陣列 字串翻轉 環形鍊錶問題 雙指標主要用於遍歷陣列,兩個指標指向不同的元素,從而協同完成任務。有序陣列的 two sum1 leetcode 167.two sum ii input array is sorted easy input numbers target 9 output ...

leetcode 雙指標專題

題目 4.尋找兩個有序陣列的中位數 解析 通過2個下標來依次比較2個陣列的元素,直到走過的數量達到一半,複雜度 m n 2 答案 double findmediansortedarrays int nums1,int nums1size,int nums2,int nums2size else co...