东莞公司网站建设公司,互动游戏制作软件,全球速卖通企业类型,wordpress login wall3. 无重复字符的最长子串 - 力扣#xff08;LeetCode#xff09;
给定一个字符串 s #xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 1. 滑动窗口#xff08;Sliding Window#xff09;#xff1a;
滑动窗口是一种用于处理数组或列表的子数组或子序列的问题…3. 无重复字符的最长子串 - 力扣LeetCode
给定一个字符串 s 请你找出其中不含有重复字符的 最长子串 的长度。 1. 滑动窗口Sliding Window
滑动窗口是一种用于处理数组或列表的子数组或子序列的问题的技术。它通过维护一个可变大小的窗口根据问题的要求在数组上滑动这个窗口以便找到所需的结果。
典型的滑动窗口问题包括找出最小子数组和、最大子数组和、包含特定元素的最短子数组等。通常通过两个指针来定义窗口的开始和结束。
2.思路
使用队列将字符加入队列
若队列中有重复的字符那就移除队列中第一个字符
若没有则加入队列并且更新max数值
public class Solution {public int LengthOfLongestSubstring(string s) {int max 0;Queuechar q new Queuechar();foreach(char c in s){while(q.Contains(c))q.Dequeue();q.Enqueue(c);if(q.Count max)max q.Count;}return max;}
}