leetcode Longest Substring Without Repeating Characters
来源:互联网 发布:lol解封软件 编辑:程序博客网 时间:2024/05/23 11:18
string问题,这个题可以用数组,hashmap,set来做,其中时间复杂度还是数组最小,但是有个问题,这道题只有小写字母所以设一个长度为26的数组就可以了,bool char[26]来表示每个字母在最长不重复子字符串中是否出现了
思路:
1,设定两个指针,一个left,一个right,他们之间s[l]~s[r]表示没有重复的部分,也就是说:如果这部分中没重复的是abcde的话,用数组表示,则char[0]~char[4]为true,这个思路
2,这里用set这个容器,他的好处是,set是由平衡二叉树这种数据结构而来,他的自带函数find,搜索效率为Logn,比较方便,这点比vector要好
class Solution {public: int lengthOfLongestSubstring(string s) { if(s == "") return 0; int maxn; set<char> cset; int l = 0,r = 0; while(r < s.size()){ if(cset.find(s[r]) == cset.end()) cset.insert(s[r]); else { maxn = (maxn>r-l)?maxn:(r-l); while(s[l]!=s[r]){ cset.erase(s[l++]); } l++; } r++; } maxn = (maxn>r-l)?maxn:(r-l); return maxn; }};
0 0
- LeetCode: Longest Substring Without Repeating Characters
- LeetCode Longest Substring Without Repeating Characters
- LeetCode: Longest Substring Without Repeating Characters
- [Leetcode] Longest Substring Without Repeating Characters
- leetcode 23: Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- LeetCode 3 - Longest Substring Without Repeating Characters
- [LeetCode]Longest Substring Without Repeating Characters
- leetcode Longest Substring Without Repeating Characters
- 【leetcode】 Longest Substring Without Repeating Characters
- LeetCode-Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [leetcode] Longest Substring Without Repeating Characters
- LeetCode - Longest Substring Without Repeating Characters
- LeetCode 3: Longest Substring Without Repeating Characters
- leetcode-3:Longest Substring Without Repeating Characters
- leetcode之Longest Substring Without Repeating Characters
- 排序算法八:堆排序
- CSS浮动(float,clear)通俗讲解
- 安卓动画系列之一,妙用Interpolator 快速实现弹球效果
- C# Post接收发送XML
- Unity3d 利用Mesh绘制几何图形实现
- leetcode Longest Substring Without Repeating Characters
- PURGEOLDEXTRACTS 不能自动删除
- 癫痫病会遗传吗 02sb2qlb
- Unity3d制作Atlas 加载本地文件实现
- JDBC中典型的五种查询方式
- 课程计划
- 使用apache ab进行页面的压力测试
- 常用命令集合
- mapreduce实现倒排索引