博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
滑动窗口Mininum_window_substring解题以及思路
阅读量:3938 次
发布时间:2019-05-23

本文共 1243 字,大约阅读时间需要 4 分钟。

2020.10.26日上午:

'''滑动窗口,维护一个left - right 的滑动窗口:1. 首先right 不停的向右移动,直到满足 覆盖到全部的关键k(t需要的字符)一旦满足之后,我们也就是找到了一个解然后右移 left 去找下一个解。通过 begin 和 length 去记录最佳的解'''class Solution:    def minWindow(self, s: str, t: str) -> str:        left, right, valid = 0, 0, 0 #        need = {
} k_in_window = {
} begin = 0 length = float('inf') for c in t: if c in need: need[c] += 1 else: need[c] = 1 while right < len(s): c = s[right] right += 1 if c in need: if c in k_in_window: k_in_window[c] += 1 else: k_in_window[c] = 1 if k_in_window[c] == need[c]: valid += 1 while valid == len(need): # 找到了所有t中的元素 if (right - left) < length: # 有一个更短的子串 begin = left length = right - left c = s[left] left += 1 if c in need: if k_in_window[c] == need[c]: valid -= 1 k_in_window[c] -= 1 if length == float('inf'): return "" return s[begin:length+begin]

转载地址:http://cnywi.baihongyu.com/

你可能感兴趣的文章
簡單工廠模式
查看>>
c# 读写txt文件
查看>>
Javascript Json对象与字符串转换
查看>>
Entity Framework对数据库表的CRUD操作
查看>>
练手:Linq的循环
查看>>
c# 用委託 + 策略 解決 switch case 過多的問題
查看>>
BinaryFormatter 類別
查看>>
构造函数
查看>>
SQL Server 使用 FileStream存储图片文件等BLOB资料
查看>>
vs中 WebAPI 以Console application和WinForm作为宿主的部署
查看>>
Javascript常用日期获取方法
查看>>
SQL Server 将字符串按指定字符分隔后存储到table
查看>>
SQL Server的數據類型
查看>>
允許文本框輸入數字,退格鍵,小數點,負號
查看>>
利用线程解决页面打开加载数据延迟的问题
查看>>
c# 读写excel文件
查看>>
c#利用反射按名稱找到類的方法并執行
查看>>
EF添加DataModel時在config中隱藏connectiongstring敏感字符的方法
查看>>
在web page中按enter鍵焦點轉到下一個tabindex的控件
查看>>
EF 對于多條件的查詢
查看>>