10.《滑动窗口篇》---②长度最小的子数组(中等)
有了上一篇的基础。这道题我们就可以轻易分析可以使用滑动窗口来解决了
方法一:滑动窗口
这里注意 ret 在while循环外部更新
在
while外部更新ret,确保窗口在满足条件后再计算长度,避免错误计入正在调整中的窗口长度。
class Solution {public int lengthOfLongestSubstring(String s0) {int[] hash = new int[128]; //数组模拟哈希表int n = s0.length();char[] s = s0.toCharArray();int ret = 0;for(int left = 0,right = 0; right < n; right++){hash[s[right]]++; //进入窗口while(hash[s[right]] > 1){hash[s[left++]]--;}ret = Math.max(ret,right-left+1);}return ret;}
}
复杂度分析
时间复杂度:O(n),
空间复杂度:
- 常见分析: 空间复杂度为 O(1),因为哈希表是固定大小,额外空间使用与输入大小无关。
- 严格分析: 如果字符数组
chars被视为额外空间,则空间复杂度为 O(n)
相关文章:
10.《滑动窗口篇》---②长度最小的子数组(中等)
有了上一篇的基础。这道题我们就可以轻易分析可以使用滑动窗口来解决了 方法一:滑动窗口 这里注意 ret 在while循环外部更新 在 while 外部更新 ret,确保窗口在满足条件后再计算长度,避免错误计入正在调整中的窗口长度。 class Solution {pub…...
java的强,软,弱,虚引用介绍以及应用
写在前面 本文看下Java的强,软,弱,虚引用相关内容。 1:各种引用介绍 顶层类是java.lang.ref.Reference,注意是一个抽象类,而不是接口,其中比较重要的引用队列ReferenceQueue就在该类中定义,子…...
STL-stack栈:P1981 [NOIP2013 普及组] 表达式求值
这个题用的STL-栈来做 题目来源:洛谷 相关知识 [NOIP2013 普及组] 表达式求值 题目背景 NOIP2013 普及组 T2 题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 输入格式 一行,为需要你计算的表达式ÿ…...
Java使用stream进行分组汇总失效问题
背景 在当前项目的开发任务中需要定制财务报表导出功能,格式比较特殊使用了VM。在汇总数据的过程中使用了stream.collect 进行分组汇总。在测试的过程中发现分组失败,最终原因是对象的对比方式问题,collect是根据对象对比的所以需要重写equa…...
VMWare虚拟机安装华为欧拉系统
记录一下安装步骤: 1.在vmware中创建一个新的虚拟机,步骤和创建centos差不多 2.启动系统 具体的看下图: 启动虚拟机 耐心等待 等待进度条走完重启系统就完成了...
阿里云轻量应用服务器可以用在哪些场景呢
在数字化转型的浪潮中,中小企业面临着如何快速、高效地上云的挑战。阿里云轻量应用服务器(SWAS)作为一款专为中小企业设计的云服务产品,提供了简单易用、经济实惠的解决方案,助力企业轻松实现云端部署,赋能…...
OrangePi 5plus yolov5 部署全过程
准备工作 一、下载用户手册 下载-Orange Pi官网-香橙派(Orange Pi)开发板,开源硬件,开源软件,开源芯片,电脑键盘 里面有详细的镜像烧录教程和桌面使用等 二、镜像下载 准备一张TF卡(32G以上),插入电脑,…...
Rust中::和.的区别
在 Rust 中,:: 和 . 是两种常用的操作符,它们的作用和语法用途不同。以下是详细的对比和解释: 1. ::(双冒号) :: 是 路径操作符,主要用于访问模块、结构体、枚举、函数、常量等的命名空间中的成员。 主要…...
集群聊天服务器(7)数据模块
目录 Mysql数据库代码封装头文件与源文件 Mysql数据库代码封装 业务层代码不要直接写数据库,因为业务层和数据层的代码逻辑也想完全区分开。万一不想存储mysql,想存redis的话,就要改动大量业务代码。解耦合就是改起来很方便。 首先需要安装m…...
VS Code 更改背景颜色
我们的 VS code 默认是 黑色,这个颜色在有光的情况下,个人感觉反光比较严重。 所以换成白色了。 步骤: 选择 File -> Preferences -> Settings Workbench -> Appearance -> Color Theme -> 选择喜欢的颜色 选择后会变为你选…...
OpenAI 助力数据分析中的模式识别与趋势预测
数据分析师的日常工作中,发现数据中的隐藏模式和预测未来趋势是非常重要的一环。借助 OpenAI 的强大语言模型(如 GPT-4),我们可以轻松完成这些任务,无需深厚的编程基础,也能快速上手。 在本文中࿰…...
IDM扩展添加到Edge浏览器
IDM扩展添加到Edge浏览器 一般情况下,当安装IDM软件后,该软件将会自动将IDM Integration Module浏览器扩展安装到Edge浏览器上,但在某些情况下,需要我们手动安装,以下为手动安装步骤 手动安装IDM扩展到Edge浏览器 打…...
【SpringBoot】26 实体映射工具(MapStruct)
Gitee 仓库 https://gitee.com/Lin_DH/system 介绍 现状 为了让应用程序的代码更易于维护,通常会将项目进行分层。在《阿里巴巴 Java 开发手册》中,推荐分层如下图所示: 每层都有对应的领域模型,即不同类型的 Bean。 DO&…...
分层架构 IM 系统之架构演进
在电商业务日活几百万的情况下,IM 系统采用分层架构方式,如下图。 分层架构的 IM 系统,整体上包含了【终端层】、【入口层】、【业务逻辑层】、【路由层】、【数据访问层】和【存储层】,我们在上篇文章(分层架构 IM 系…...
基于YOLOv8深度学习的医学影像阿尔兹海默症检测诊断系统研究与实现(PyQt5界面+数据集+训练代码)
阿尔茨海默症(Alzheimer’s disease)是一种常见的神经退行性疾病,主要表现为记忆丧失、认知能力下降以及行为和人格改变。随着全球老龄化问题的加剧,阿尔茨海默症的发病率也在逐年上升,给患者及其家庭带来了巨大的经济…...
【支持向量机(SVM)】:相关概念及API使用
文章目录 1 SVM相关概念1.1 SVM引入1.1.1 SVM思想1.1.2 SVM分类1.1.3 线性可分、线性和非线性的区分 1.2 SVM概念1.3 支持向量概念1.4 软间隔和硬间隔1.5 惩罚系数C1.6 核函数 2 SVM API使用2.1 LinearSVC API 说明2.2 鸢尾花数据集案例2.3 惩罚参数C的影响 1 SVM相关概念 1.1…...
Android kotlin之配置kapt编译器插件
配置项目目录下的gradle/libs.versions.toml文件,添加kapt配置项: 在模块目录下build.gradle.kt中增加 plugins {alias(libs.plugins.android.application)alias(libs.plugins.jetbrains.kotlin.android)// 增加该行alias(libs.plugins.jetbrains.kotl…...
时序数据库TDEngine
TDengine 是一款开源、高性能、云原生的时序数据库(Time Series Database, TSDB), 它专为物联网、车联网、工业互联网、金融、IT 运维等场景优化设计。同时它还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度&…...
jd-easyflow中inclusive的用法
在jd-easyflow中,inclusive通常与流程中的条件分支(conditions)配置相关,用于控制多个条件分支的执行逻辑。当conditionType设置为inclusive时,表示多个条件分支中的所有条件都会被评估,而不是像exclusive那…...
sqlmap图形化安装使用(附文件)
1.需要python环境,我这里就不教如何安装python环境了。 2.下载压缩包并且解压 3. 凭自己喜好选择大窗口小窗口 4.进入图形化界面后,1.输入url地址。2.选择要执行的操作。3.构造命令语句 5.点击一把梭,然后就可以发现出结果了 6. 对于喜欢自己…...
阿里AI产品经理实习深度解析:从业务痛点到评估体系,手把手拆解求职攻略!
本文详细拆解了阿里AI产品经理实习岗位的核心职责与面试要点,强调理解业务场景、设计AI应用流程、运用Prompt技术、评估产品效果等关键能力。文章指出,该岗位不仅需要掌握AI基础概念,更要具备业务洞察力、问题拆解能力及数据驱动优化能力&…...
AI智能体文化档案:用Next.js静态站点构建数字人类学观察站
1. 项目概述:一个观察AI智能体文化的数字档案馆最近在GitHub上闲逛,发现了一个让我眼前一亮的项目:The MoltStein Files。这可不是一个普通的代码仓库,而是一个专注于记录和存档AI智能体之间“社交”行为的数字档案馆。简单来说&a…...
为个人开源项目寻找高性价比大模型API的选型与实践
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为个人开源项目寻找高性价比大模型API的选型与实践 对于个人开发者或学生而言,运营一个GitHub开源项目常常需要在有限的…...
人工智能体共情能力模块设计与实践(下)
八、实验设计方案 8.1 数据集设计 建议构建一个多场景中文共情对话数据集。 场景分类 场景 示例 客服投诉 订单、退款、物流、系统故障 学习辅导 学不会、考试焦虑、代码报错 工作压力 加班、沟通冲突、任务失败 情绪倾诉 难过、焦虑、失落 决策支持 不知道如何选择 高风险表…...
Faust.js实战:用Next.js构建高性能Headless WordPress前端
1. 项目概述:当WordPress遇见现代前端如果你和我一样,在过去几年里深度参与过企业级WordPress项目,那你一定对那个经典的“两难困境”记忆犹新:一方面,WordPress的后台管理体验和内容生态无可匹敌,是内容团…...
5步解决网易云音乐NCM文件难题:ncmdumpGUI实战指南
5步解决网易云音乐NCM文件难题:ncmdumpGUI实战指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经遇到过这样的情况:在网易…...
图解人工智能(12)自动做化学实验的机器
近年来,人工智能和传统科学的结合备受瞩目。2019年,英国利物浦大学在《自然》杂志发表论文,介绍了一种可以自动做化学实验的机器人。查找相关资料,并讨论一下类似的工作能给人类社会带来怎样的变革。首先,实验人员的培…...
关于岐金兰AI元人文构想与江畅《论道德真理》之关系的理论说明
关于岐金兰AI元人文构想与江畅《论道德真理》之关系的理论说明——致敬江畅教授,并申明独立研究的道路岐金兰2026年5月12日一、相遇:迟到的阅读,及时的对话2026年3月11日,我在一个偶然的学术检索中读到了江畅教授的《论道德真理》…...
Cartographer闭环优化里的‘分支定界’:一个机器人SLAM工程师的实战笔记与避坑心得
Cartographer闭环优化中的分支定界算法:工程实践与性能调优指南 在SLAM(即时定位与地图构建)领域,闭环检测的准确性直接决定了系统长期运行的稳定性。作为Cartographer算法的核心组件之一,分支定界(Branch …...
【独家首发】Sora 2正式版未公开能力清单:原生支持3D空间锚点+时间轴语义编辑+版权水印嵌入(附OpenAI内部文档节选)
更多请点击: https://intelliparadigm.com 第一章:Sora 2正式版核心能力全景概览 多模态时序理解与生成一体化 Sora 2正式版突破性地将文本、图像、音频及物理运动参数统一编码至共享时空潜空间,支持长达120秒、1080p分辨率的连贯视频生成。…...
