首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最长字符

题目 给定一个字符串,请你找出其中不含有重复字符最长子串 的长度。 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符最长子串是 "abc",所以其长度为 3。...输入: "bbbbb" 输出: 1 解释: 因为无重复字符最长子串是 "b",所以其长度为 1。...输入: "pwwkew" 输出: 3 解释: 因为无重复字符最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。...解答 第一种 //1、穷举,从第一个字符开始,一次向后遍历,如果有相同字符,记录长度。...//2、继续从第二个字符,重复1步骤,比较长度,留下最长的 //3、重复2,返回最长result public static int lengthOfLongestSubstring(String s)

37110
您找到你想要的搜索结果了吗?
是的
没有找到

替换后的最长重复字符

替换后的最长重复字符 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换k次。在执行上述操作后,找到包含重复字母的最长子串的长度。...输入:s = "AABABBA", k = 1 输出:4 解释: 将中间的一个'A'替换为'B',字符串变为 "AABBBBA"。 子串 "BBBB" 有最长重复字母, 答案为 4。...]++; // 取数量最大的值 维护maxn一直是最大值 // 窗口长度只能增大或者不变 left指针只移动了0/1次 // 这样做的意义是我们求的是最长...,然后找到其最远的左端点的位置,满足该区间内除了出现次数最多的那一类字符之外,剩余的字符(即非最长重复字符)数量不超过k个,这样我们可以想到使用双指针维护这些区间,每次右指针右移,如果区间仍然满足条件,...那么左指针不移动,否则左指针至多右移一格,保证区间长度不减小,这样做的意义是我们求的是最长,如果找不到更长的维持长度不变返回结果不受影响,当我们右指针移动到尽头,左右指针对应的区间的长度必然对应一个长度最大的符合条件的区间

92420

无重复字符最长字串

Longest Substring Without Repeating Characters 已知一个字符串,求用该字符串的无重复字符组成的最长子串的长度。...算法设计 利用滑动窗口 双指针维护滑动窗口,整个过程中,使用begin与i维护一个窗口,该窗口中的子串满足题目 条件(无重复的字符),窗口线性向前滑动,整体时间复杂度为O(n)。...1.设置一个记录字符数量的字符哈希,char_map; 2.设置一个记录当前满足条件的最长子串变量word; 3.设置最长满足条件的子串的长度result; 4.设置两个指针(记作指针i与指针begin...)指向字符串第一个字符; 5.i指针向后逐个扫描字符串中的字符,在这个过程中,使用char_map记录字符数量 如果word中没出现过该字符:对word尾部添加字符并检查result是否需要更新;...否则:begin指针向前移动,更新char_map中的字符数量,直到字符s[i]的数量为1;更新word,将 word赋值为begin与i之间的子串。

66230

LeetCode:最长不含重复字符的子字符

解题思路的思考:   以abcabcbb为例,找出以每个字符结束,不包含重复字符最长子串。那么其中最长的那个字符串即为答案。...对于示例一中的字符串,我们列举出这些结果,其中括号中表示选中的字符以及最长字符串: 以 [a]bcabcbb 结束的最长字符串为[a]bcabcbb,长度为1 以 a[b]cabcbb 结束的最长字符串为...[ab]cabcbb,长度为2 以 ab[c]abcbb 结束的最长字符串为[abc]abcbb,长度为3 以 abc[a]bcbb 结束的最长字符串为a[bca]bcbb,长度为3 以 abca[b]...cbb 结束的最长字符串为ab[cab]cbb,长度为3 以 abcab[c]bb 结束的最长字符串为abc[abc]bb,长度为3 以 abcabc[b]b 结束的最长字符串为abcab[cb]b,长度为...2 以 abcabcb[b] 结束的最长字符串为abcabcb[b],长度为1 有点动态规划的意思了,但是不是动态规划。

84800

无重复字符最长子串

今天和大家分享的题目是,给定一个字符串,找出不含有重复字符最长子串的长度。具体示例如下。...我的思路是这样的: 1.首先通过定义函数的方法来解决; 2.将所有符合题目要求的字符串放在一个空的列表中; 3.定义两个参数,参数i的作用是在给定字符串个数的范围内遍历取值; 4.参数j的作用是,检测当前字符是否已经在字典中存在索引...同时,将子串起始位置移动到当前字符上一次出现的位置之后。...print(i,",") 输出结果: 0 , i= 0 2 , i= 1 4 , i= 2 6 , i= 3 8 , i= 4 do something. end. join函数 用于将序列中的元素以指定的字符串连接生成一个新的字符串...返回值:返回通过指定字符连接序列中元素后生成新的字符串。

63830

无重复字符最长子串

JavaScript实现LeetCode第3题:无重复字符最长子串 题目描述 给定一个字符串,请你找出其中不含有重复字符最长子串 的长度。...示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符最长子串是 "abc",所以其长度为 3。...示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符最长子串是 "b",所以其长度为 1。...示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。...解题思路 这是一道动态规划题目 1.声明两个变量 currentString:当前无重复字符的子串, max:无重复字符的最大子串长度 2.判断当前的最长串中是否有该字母s[i], 如果没有,则加上s[

80220

无重复字符最长子串

无重复字符最长子串 给定一个字符串,请你找出其中不含有重复字符最长子串 的长度。...示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符最长子串是 "abc",所以其长度为 3。...示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符最长子串是 "b",所以其长度为 1。...示例 3: 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符最长子串是 "wke",所以其长度为 3。...来存储最长子串的长度,这样内存占用会更小; 最长子串其实就可以看成滑动窗口,子串的左下标 i 就是窗口的左侧位置,子串的右下标 j 就是窗口的右侧位置; 当遍历字符串的时候,就可以通过左坐标 i 来控制窗口左侧位置的移动

48440

无重复字符最长子串

1.题目 给定一个字符串,请你找出其中不含有重复字符最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符最长子串是 "abc",所以其长度为 3。...2.2图解 计算完第一个字符,目前无重复字符最长子串是a,所以l=1 计算完第二个字符,目前无重复字符最长子串是ab,所以l=2 计算完第三个字符,目前无重复字符最长子串是abc,所以l=3 计算完第四个字符...,删除a,以及a之前的字符,目前无重复字符最长子串是bca,所以l=3 计算完第五个字符,删除b,以及b之前的字符,目前无重复字符最长子串是cab,所以l=3 计算完第六个字符,删除c,以及c之前的字符...,目前无重复字符最长子串是abc,所以l=3 计算完第七个字符,删除b,以及b之前的字符,目前无重复字符最长子串是cb,所以l=2 计算完第八个字符,删除b,以及b之前的字符,目前无重复字符最长子串是...在移动结束后,这个子串就对应着 以左指针开始的,不包含重复字符最长子串。我们记录下这个子串的长度; 在枚举结束后,我们找到的最长的子串的长度即为答案 时间复杂度:O(N),其中 N 是字符串的长度。

69210

无重复字符最长子串

定义一个map数据结构存储(k,v),其中key值为字符,value值为字符位置+1,加1表示从字符位置后一个才开始不重复 我们定义不重复子串的开始位置为start,结束位置为end 随着end不断遍历向后...,会遇到与【start,end】区间内字符相同的情况,此时将字符作为key值,获取其value值,并更新start,此时【start,end】区间内不存在重复字符 无论是否更新start,都会更新其map...lengthOfLongestSubstring(String s) { int length=s.length(); int max=0; //存放字符以及...char element=s.charAt(end); if (map.containsKey(element)){ //为了防止连续重复字符...,这里要进行一次判断 //+1表示该元素后一个元素才是不重复字符串的开始 start=Math.max(map.get(element)+

40474

python 无重复字符最长子串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3  解释: 因为无重复字符最长子串是 "abc",所以其长度为 3。...示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符最长子串是 "b",所以其长度为 1。...示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符最长子串是 "wke",所以其长度为 3。     ...无重复字符最长子串 class Solution:     def lengthOfLongestSubstring(self, s):         """         :type s:...无重复字符最长子串 30. 串联所有单词的子串 76. 最小覆盖子串 159. 至多包含两个不同字符最长子串 209. 长度最小的子数组 239. 滑动窗口最大值 567.

2.2K20
领券