力扣hot100_子串_python版本

一、560. 和為 K 的子數組

在這里插入圖片描述

  • 思路:這就是一道典型的前綴和的題
  • 代碼:
class Solution:def subarraySum(self, nums: List[int], k: int) -> int:presum = [0] * (len(nums) + 1)for i, x in enumerate(nums):presum[i + 1] = presum[i] + x  # 前綴和序列需要n+1個ans = 0cnt = defaultdict(int)for p in presum:ans += cnt[p - k]cnt[p] += 1return ans

二、239. 滑動窗口最大值

在這里插入圖片描述

  • 思路1:暴力。這道題如果暴力求解其實很簡單,根據描述寫就行了,但是復雜度比較高, O ( n 2 ) O(n^2) O(n2)
  • 代碼
class Solution:def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]:if len(nums) == 1:return numsres = []left, right = 0, kwhile left <= (len(nums)-k):res.append(max(nums[left:right]))left+=1right+=1return res
  • 思路2:單調隊列。單調隊列分為3步
    1. 入(元素入隊尾,并維護單調性(看需要保持單增,還是單減))
    2. 出(元素離開隊首)
    3. 記錄答案
  • 代碼
class Solution:def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]:ans = []q = deque()for i, x in enumerate(nums):# 入while q and nums[q[-1]] <= x:q.pop()  # 刪除比x小的元素(找最大值,比x小的就不用看了)q.append(i)  # 加入到隊尾(這個隊列也是單調的了)# 出if i - q[0] >= k:  # 隊首需要離開了(滑窗滑過了)q.popleft()# 記錄if i >= k - 1:ans.append(nums[q[0]])retrun ans 

三、76. 最小覆蓋子串

在這里插入圖片描述

  • 思路:這里很神奇,Counter()這玩兒意可以比較,當然如果沒法比較也可以自己寫一個比較函數
  • 代碼:
class Solution:def minWindow(self, s, t):ansLeft, ansRight = -1, len(s)cntS = Counter()cntT = Counter(t)left = 0for right, word in enumerate(s):cntS[word] += 1while cntS >= cntT:if right - left < ansRight - ansLeft:ansLeft, ansRight = left, rightcntS[s[left]] -= 1left += 1return "" if ansLeft < 0 else s[ansLeft:ansRight+1]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78491.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78491.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78491.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

猿人學web端爬蟲攻防大賽賽題第15題——備周則意怠-常見則不疑

解題步驟 1、觀察抓的包 2、有個m參數&#xff0c;一看就是經過處理的&#xff0c;我們得知道m是如何組成的。看Initiator模塊。 3、還是看request函數&#xff0c;往上一看就看到了m的賦值操作。 打斷點&#xff0c;觸發。 4、看下window.m()的定義 5、比較好理解的&#x…

rag增強檢索-基于關鍵詞檢索的混合檢索模式

1. 為什么在 RAG 里要用關鍵詞檢索? 向量檢索(embedding-based retrieval)是找語義相近的內容,但有時候不夠準確。比如用戶問了具體人名、產品型號、年份,這類關鍵詞強指向性的信息,用向量檢索可能匹配不到最相關內容。**關鍵詞檢索(keyword-based retrieval)**可以直接…

純真社區IP庫離線版發布更新

純真社區IP庫離線版發布更新 發布者&#xff1a;技術分享 2005年&#xff0c;隨著中國互聯網的蓬勃發展&#xff0c;純真IP庫誕生了。作為全球網絡空間地理測繪技術的領先者&#xff0c;純真開源項目為中國互聯網行業提供了高質量的網絡空間IP庫數據。純真IP庫目前已經覆蓋超…

GitOps進化:深入探討 Argo CD 及其對持續部署的影響

什么是 GitOps&#xff1f; 雖然軟件開發生命周期的大部分已經實現自動化&#xff0c;但基礎設施仍然在很大程度上依賴于人工&#xff0c;需要專業團隊的參與。隨著當今基礎設施需求的不斷增長&#xff0c;實施基礎設施自動化變得越來越重要。現代基礎設施需要具備彈性&#x…

通過示例學習:連續 XOR

通過示例學習&#xff1a;連續 XOR 如果我們想在 PyTorch 中構建神經網絡&#xff0c;可以使用 &#xff08;with&#xff09; 指定所有參數&#xff08;權重矩陣、偏差向量&#xff09;&#xff0c;讓 PyTorch 計算梯度&#xff0c;然后調整參數。但是&#xff0c;如果我們有很…

百度Create大會深度解讀:AI Agent與多模態模型如何重塑未來?

目錄 百度Create大會亮點全解析&#xff1a;從數字人到Agent生態布局 數字人商業化&#xff1a;從"擬人"到"高說服力"的進化 Agent生態&#xff1a;從"心響"App看百度的Agent戰略布局 "心響"App的技術架構與創新點 多模態大模型&a…

django filter 日期大于當前日期的

在Django中&#xff0c;如果你想要過濾出日期大于當前日期的記錄&#xff0c;你可以使用Django的QuerySet API中的__gt&#xff08;大于&#xff09;操作符。這里是如何做到這一點的步驟&#xff1a; 確定你的模型&#xff1a;首先&#xff0c;確保你有一個模型&#xff08;Mo…

C#本地使用離線ocr庫識別圖片中文本,工具包PaddleOCRSharp

C#本地使用離線ocr庫識別圖片文本&#xff0c;工具包PaddleOCRSharp PaddleOCRSharp介紹 項目地址&#xff1a;https://github.com/raoyutian/PaddleOCRSharp PaddleOCRSharp 是一個.NET版本OCR可離線使用類庫。項目核心組件PaddleOCR.dll目前已經支持C\C、.NET、Python、Go…

缺省處理、容錯處理

布爾判定 假&#xff1a;false 0 null undefined NaN 可選符.?和&#xff1f;&#xff1f; let obj {name: jim,data: {money: 0,age: 18,fn(a){return a}} }1、如果左側的值為null或者undefined&#xff0c;則使用右側值。需要使用"??" obj?.data?.a…

【Java面試題系列02】Java 集合常見面試題

文章目錄 一、前言&#x1f680;&#x1f680;&#x1f680;二、Java 基礎面試題&#xff1a;??????1、說說 Java 中 HashMap 的原理&#xff1f;2、HashMap 的擴容機制&#xff1f;3、為什么 Java 中 HashMap 的默認負載因子是 0.75?4、JDK 1.8 對 HashMap 除了紅黑樹還…

如何創建并使用極狐GitLab 部署令牌?

極狐GitLab 是 GitLab 在中國的發行版&#xff0c;關于中文參考文檔和資料有&#xff1a; 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 部署令牌 (BASIC ALL) 您可以使用部署令牌來啟用部署任務的身份驗證&#xff0c;而與用戶賬戶無關。在大多數情況下&#xf…

OpenGl ES 3.0 筆記一:初步概念

&#x1f3af; 整體比喻&#xff1a;開一場 3D 打印畫展&#xff01; 想象你在做一件事情&#xff1a;「拿設計圖&#xff0c;把它畫在一張紙上」。 這整個流程就好像 GPU 在渲染一幅畫。 而下面這幾個階段&#xff0c;就是這場「畫展」里每個具體的人或機器要做的事情&#x…

人類社會的第四階段

本書的主旨是探討一場新的權力革命&#xff0c;它將以20世紀民族國家的毀滅為代價&#xff0c; 解放出個體。創新&#xff0c;以前所未有的方式改變了暴力的邏輯&#xff0c;并且正在革新未來的 邊界。如果我們的推論是正確的&#xff0c;你們正站在一場有史以來最宏大的革命的…

位置差在坐標系間的相互轉換

1 NED轉經緯高 &#xff08;n 系下的北向、東向和垂向位置差異&#xff08;單位 m&#xff09;轉化為緯度、經度和高程分量的差異&#xff09; 2 基站坐標轉換 緯度、經度、高程 到 ECEF %緯度、經度、高程 到 ECEF clc; clear; glvs; addpath(genpath(E:\GNSSINS\ACES)…

WPF定義擴展屬性和依賴屬性

WPF擴展屬性與依賴屬性詳解 一、依賴屬性(Dependency Property)詳解 1. 什么是依賴屬性? 依賴屬性是WPF框架的核心特性之一,它允許屬性值依賴于: 父元素的屬性值(繼承)樣式和模板動畫數據綁定資源查找2. 依賴屬性的特點 ??屬性值繼承??:子元素可以繼承父元素的屬性…

邊緣函數:全棧開發的最后1毫秒性能革命

一、邊緣計算的時空折疊術 1. 傳統CDN vs. 智能邊緣網絡 全球電商平臺實測數據&#xff1a; 場景云端處理延遲邊緣處理延遲轉化率提升搜索建議320ms8ms18%個性化推薦450ms12ms27%實時庫存檢查680ms9ms42%欺詐檢測920ms15ms63% 二、邊緣全棧架構的量子糾纏 1. 代碼的時空分布…

Codeforces Round 1021 (Div. 2) D. Baggage Claim(建圖)

每周五篇博客&#xff1a;&#xff08;4/5&#xff09; https://codeforces.com/contest/2098/problem/D 題意 每個機場都有一個行李索賠區&#xff0c;巴爾貝索沃機場也不例外。在某個時候&#xff0c;Sheremetyevo的一位管理員提出了一個不尋常的想法&#xff1a;將行李索…

LLM(大語言模型)技術的最新進展可總結

截至2025年4月26日&#xff0c;LLM&#xff08;大語言模型&#xff09;技術的最新進展可總結為以下關鍵方向&#xff1a; 1. 架構創新與性能突破 多模態能力深化&#xff1a;GPT-4o等模型通過統一架構支持文本、圖像、音頻和視頻的跨模態推理&#xff0c;顯著提升復雜場景下的…

黑馬點評redis改 part 6

GEO數據結構 GEO就是Geolocation的簡寫形式&#xff0c;代表地理坐標。Redis在3.2版本中加入了對GEO的支持&#xff0c;允許存儲地理坐標信息&#xff0c;幫助我們根據經緯度來檢索數據。常見的命令有&#xff1a; GEOADD&#xff1a;添加一個地理空間信息&#xff0c;包含&a…

Spring_MVC 中的 JSON 數據處理與 REST 風格開發

Spring_MVC 中的 JSON 數據處理與 REST 風格開發 一、JSON 格式參數 1. 格式布置 依賴導入 為了處理 JSON 數據&#xff0c;需要在項目中引入 Jackson 庫&#xff0c;它是 Spring_MVC 默認使用的 JSON 處理工具。 <dependency><groupId>com.fasterxml.jackson…