力扣3. 无重复字符的最长子串

news/2024/12/23 7:59:30/

Problem: 3. 无重复字符的最长子串

文章目录

  • 题目描述
  • 思路及解法
  • 复杂度
  • Code

题目描述

在这里插入图片描述在这里插入图片描述

思路及解法

1.川建一个set集合存储最长的无重复的字符;
2.创建双指针p、q,每次当q指针指向的字符不在set集合中时将其添加到set集合中让q指针后移,并且更新无重复字符串的最大长度,当q指向的字符在set集合中时,抹去p指针指向的字符

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为字符串 s s s的长度

空间复杂度:

O ( n ) O(n) O(n)

Code

class Solution {
public:/*** Two Pointer** @param s Given string* @return int*/int lengthOfLongestSubstring(string s) {int n = s.length();if (n == 0) {return 0;}unordered_set<char> set;int p = 0;int q = 0;int maxLen = 0;while (q < n) {if (!set.count(s[q])) {set.insert(s[q]);q++;maxLen > q - p ? maxLen : q - p;continue;}while (set.count(s[q])) {set.erase(s[p]);p++;}}return maxLen;}
};

http://www.ppmy.cn/news/1394857.html

相关文章

网络编程中的序列化、反序列化与协议

网络编程中的序列化、反序列化与协议 1. 序列化和反序列化的概念2. 序列化、反序列化与协议的关系3. JSON与网络通信 在网络编程中&#xff0c;序列化和反序列化与协议密切相关&#xff0c;它们共同构成了数据在网络中传输的基础。本文将详细介绍序列化、反序列化以及它们与协议…

Python 如何设置和读取 config.ini 文件

当你开始编写Python应用程序时&#xff0c;通常需要一种方法来配置应用程序的设置&#xff0c;如数据库连接信息、API密钥等。使用配置文件是一种常见的方法&#xff0c;而INI文件是一种简单而常见的配置文件格式。在本文中&#xff0c;我将介绍如何使用Python设置和读取INI格式…

HPE DL580 Gen9到家了,成功开机!

正文共&#xff1a;1234 字 17 图&#xff0c;预估阅读时间&#xff1a;1 分钟 现在这个时代&#xff0c;学点新知识的成本实在是太高了。因为单宽的GPU性能较低、显存较小&#xff0c;还得上双宽的GPU。具体来说&#xff0c;Tesla M4的架构老了一些&#xff0c;只有4 GB显存&a…

二叉树试题解析

一、单项选择题 01.下列关于二叉树的说法中&#xff0c;正确的是( C ). A.度为2的有序树就是二叉树 B.含有n个结点的二叉树的高度为 C.在完全二叉树中&#xff0c;若一个结点没有左孩子&#xff0c;则它必是叶结点 D.含有n个结点的完全二叉树的高度为解析&#xff1a;A 二叉树…

jetcache 2级缓存模式实现批量清除

需求 希望能够实现清理指定对象缓存的方法&#xff0c;例如缓存了User表&#xff0c;当User表巨大时&#xff0c;通过id全量去清理不现实&#xff0c;耗费资源也巨大。因此需要能够支持清理指定本地和远程缓存的批量方法。 分析 查看jetcache生成的cache接口&#xff0c;并没…

ubuntu20.04 编译瑞芯微rv1126问题集锦

1、camera_engine_rkisp is in the dependency chain of app_demo that has added it to its _DEPENDENCIES variable without selecting it or depending on it from Config.in. Stop. 解决方案&#xff1a; 注释&#xff1a;rv1126/buildroot/package/rockchip/app_demo/Con…

⾃定义类型:联合和枚举

目录 1. 联合体 1.1 联合体类型的声明 1.2 联合体的特点 1.3 相同成员的结构体和联合体对⽐ 1.4 联合体⼤⼩的计算 1.5联合的⼀个练习 2. 枚举类型 2.1 枚举类型的声明 2.2 枚举类型的优点 2.3 枚举类型的使⽤ 1. 联合体 1.1 联合体类型的声明 像结构体⼀样&#xff…

Leetcode 3091. Apply Operations to Make Sum of Array Greater Than or Equal to k

Leetcode 3091. Apply Operations to Make Sum of Array Greater Than or Equal to k 1. 解题思路2. 代码实现 题目链接&#xff1a;3091. Apply Operations to Make Sum of Array Greater Than or Equal to k 1. 解题思路 这一题的话本质上算是一个数学题&#xff0c;具体就…