力扣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.mzph.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…