2025年11月25日

2025年11月25日

一.滑动窗口专题:

image

image

class Solution {
public:vector<int> findAnagrams(string s, string p) {vector<int> ans; // 记录满足条件的起点。//异位词就是不考虑字母顺序,所以只需要统计每个字符串内个字母个数,如果相同则是异位词array<int, 26> cnt_s;//统计s中子串array<int, 26> cnt_p;//统计p串,滑动窗口for (int i = 0; i < p.size(); i++) {cnt_p[p[i] - 'a']++;}for (int right = 0; right < s.size(); right++) { // 滑动窗口右边界int left = right - p.size() + 1;//左边界cnt_s[s[right] - 'a']++;if (left < 0) { // 窗口大小未达到p的大小continue;}if (cnt_p == cnt_s) {ans.push_back(left);}cnt_s[s[left] - 'a']--;//窗口满了就退出左边一格}return ans;}
};

用array不直接用数组例如int a[ ]因为不能直接比较两个数组是否一样,所以用array 

 

image

image

方法一:暴力-->超时

class Solution {public:int lengthOfLongestSubstring(string s) {int n=s.size();vector<vector<bool>>flag;//flag[i][j]=true表示s[i->j]是无重复字符的,利用动态规划思想for(int i=0;i<n;i++){vector<bool>a;for(int j=0;j<n;j++){a.push_back(false);//默认都是重复字符}flag.push_back(a);}for(int i=0;i<n;i++){flag[i][i]=true;//单个字符一定不重复}int ans=0;for(int i=0;i<n;i++){for(int j=i;j<n;j++){bool f=true;for(int k=j-1;k>=i;k--){if(s[k]==s[j]){f=false;}}//如果无重复就更新if(j==0)flag[i][j]=true;else if(flag[i][j-1]&&f==true)    flag[i][j]=true;if(flag[i][j]==true){//更新答案ans=max(ans,j-i+1);}}}return ans;}
};

方法二:滑动窗口+哈希表

对于无重复字符串可采用哈希表数据结构!

 

class Solution {public:int lengthOfLongestSubstring(string s) {unordered_set<char>a;//哈希表int ans=0;int right=-1;//右边界for(int i=0;i<s.size();i++){if(i!=0)   {a.erase(s[i-1]);//滑动窗口左边界向右收缩一格,从哈希表里删除s[i-1]}//以当前i为左边界,右边界right一直向右直到出现重复元素while(right+1<s.size()&&a.count(s[right+1])==0){a.insert(s[right+1]);right++;}ans=max(ans,right-i+1);}return ans;}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/976511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据采集第三次作业-102302128吴建良

《数据采集与融合》第三次作业 学号: 102302128姓名: 吴建良 Gitee仓库地址: (请在这里填写您的Gitee仓库链接) 作业①:多线程爬取网站图片 一、核心思路与代码MiniCrawler (爬虫核心类)MiniCrawler 类封装了爬虫的…

2025年操控的轮胎推荐:最新性能轮胎深度解析报告

2025年操控的轮胎推荐:最新性能轮胎深度解析报告为解决用户在“操控的轮胎推荐”上的选择难题,本文将基于全球主流汽车媒体(如《AutoBild》、汽车之家等)的公开评测模型与数据,从以下四大核心维度,对市场上的主流…

2025年节油的轮胎推荐:官方TOP10低滚阻榜单揭秘

2025年节油的轮胎推荐:官方TOP10低滚阻榜单揭秘在消费者日益关注用车成本的当下,“节油的轮胎推荐”正成为各大汽车论坛与专业评测机构的热议焦点。面对琳琅满目的轮胎产品,用户亟需一套基于真实数据、覆盖多维性能…

实用指南:云计算学习(三)——子网划分

实用指南:云计算学习(三)——子网划分pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

基于 Vue3 及TypeScript 项目后的总结 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

慢就是快 用在生活中

假设现在手里有三个活:写报告,回邮件,做表格 求快:报告写个开头,弹出邮箱就回两句,表格填一行数据 求稳: 1、减法 : 哪个是当前的核心,先搞哪个 2、专注 : 回邮箱就回邮箱,写报告就写报告,做表格就做表格,…

102302116_田自豪_作业3

作业1: 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如:中国气象网(http://www.weather.com.cn)。实现单线程和多线程的方式爬取。 –务必控制总页数(学号尾数2位)、总下载的图片数量(尾数后3位)等…

解码HTTP

HTTP 协议基础 HTTP(超文本传输协议)是应用层的请求 - 响应协议,通常运行在 TCP 之上,专门用于客户端与服务器之间的通信。浏览器访问网站、调用 API 接口等网络行为,本质都是通过 HTTP 协议实现的。超文本的核心…

计你太美

计(数)你太美!背背 计(数)你太美!背背 计(数)你式子屎太美!背背 计(数)你太美!背背 迎面走来的你让我如此蠢蠢欲动 这种感觉我从未有 Cause I got a crush on you who you 你是我的我是你的谁 再多一眼看一…

畅通工程 最小生成树

贪心权重,几个优化点注意以下 1.提前退出的优化 我们的auto会遍历未初始化的部分 2.排序排的是边不是n(点) 又是看似正确实则错误的地方 #include <bits/stdc++.h> using namespace std; struct node {int u,v,…

Oracle数据库物理备份与恢复实战指南

Oracle数据库物理备份与恢复实战指南1. RMAN基础概念 1.1 什么是RMAN RMAN(Recovery Manager)是Oracle 8i以后DBA的重要工具,位于$ORACLE_HOME/bin目录下,主要用于备份、还原和恢复操作。RMAN组成:可执行文件:rm…

实用指南:Kafka面试精讲 Day 30:Kafka面试真题解析与答题技巧

实用指南:Kafka面试精讲 Day 30:Kafka面试真题解析与答题技巧2025-11-25 21:23 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impo…

2025年比亚迪汉更换轮胎推荐:专业TOP5排名权威发布

2025年比亚迪汉更换轮胎推荐:专业TOP5排名权威发布为解决用户在“比亚迪汉更换轮胎推荐”上的选择难题,本文将基于全球主流汽车媒体(如《AutoBild》、汽车之家等)的公开评测模型与数据,从以下四大核心维度,对市场…

2025年大众帕萨特更换轮胎推荐:官方权威指南深度解析

2025年大众帕萨特更换轮胎推荐:官方权威指南深度解析在消费升级与精细化养车理念并行的新时代,越来越多的车主不再满足于“能用就行”的轮胎更换逻辑,尤其对于像大众帕萨特这样兼具德系操控质感与商务舒适定位的B级…

2025-11-25 ZYZ28-NOIP模拟赛-Round9 hetao1733837的record

2025-11-25 ZYZ28-NOIP模拟赛-Round9 hetao1733837的record2025-11-25 ZYZ28-NOIP模拟赛-Round9 hetao1733837的record 比赛链接:ZYZ28-NOIP模拟赛-Round9 A.colorful 提交链接:09-A 题面 题目描述 小 Z 最近收到了一…

学习02

操作系统有什么用操作系统类似于管家身份帮助我们与语言不通的奴隶交流 能够将我们的指令转达给CPU,让CPU去工作 方便我们与计算机之间进行交流 可以将我们的指令变成0和1传达给计算机计算机由哪三大部分组成?硬件 应…

有用的包 #Python

整理一点有用的包,持续更新中~ pandas 数据处理神器,一维、二维数据,安装命令pip install pandas读取文件 import pandas as pd df = pd.read_csv("data.csv") # 读取 CSV 文件 df = pd.read_ex…

Python稳定ABI未来发展与接口机制详解

本文详细探讨了Python稳定ABI的未来发展方向,包括新的abi2026标准、运行时ABI发现机制、接口API设计等核心技术内容,旨在解决自由线程构建与GIL构建的兼容性问题,为扩展模块开发者提供长期稳定的二进制接口解决方案…

2025 人事管理工具选型:不同方案优劣势测评,中小企业闭眼抄作业

又到年底做预算的时候了,很多企业主和HR负责人开始头疼一个问题:明年该用哪套人事管理系统? 市面上产品这么多,从用友、金蝶这些老牌厂商到钉钉、企业微信这类办公平台,价格从几千到几十万,功能看起来都差不多,…

NOIP2025游记/OI生涯回忆

其实去年这个时候写过一个,但是那更像是一个 CSP 考挂之后的宣泄吧,这次认真写一个,起码能在记忆里回到从前。 2021 7 月份的时候去 dsfz 的 C 层集训,当时水平很菜,记得模拟赛的前几题是奥数题,然后可能有一半都…