003 Longest Substring Without Repeating Characters [Leetcode]
来源:互联网 发布:mac如何完全卸载软件 编辑:程序博客网 时间:2024/05/21 09:21
题目内容:
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for “abcabcbb” is “abc”, which the length is 3. For “bbbbb” the longest substring is “b”, with the length of 1.
解题思路:
顺序遍历,使用hash表记录已经读到过的字母。
由于ASCII码足够表示所有字符了,使用一个长度为128的数组记录出现的下标即可。
每次读到重复的数字时,不重复字符串的起始位置就变为hash表中记录的下标的后一位,并更新最长字符串长度和hash表中记录的当前字母的下标。
时间复杂度为O(n)。
代码:
class Solution{public: int lengthOfLongestSubstring(string s) { if(s == "") return 0; int l = 0, r = 0, maxl = 0; unsigned char cset[128]; memset(cset, 0, 128*sizeof(unsigned char)); while(r < s.size()) { if(cset[s[r]] == 0) cset[s[r]] = 1; else { maxl = max(maxl, r - l); while(s[r] != s[l]) { cset[s[l]] = 0; ++ l; } ++ l; } ++ r; } maxl = max(maxl, r - l); return maxl; }};
0 0
- LeetCode 003 Longest Substring Without Repeating Characters
- LeetCode-003 Longest Substring Without Repeating Characters
- 【leetcode】003 Longest Substring Without Repeating Characters
- LeetCode 003 Longest Substring Without Repeating Characters
- LeetCode 003-Longest Substring Without Repeating Characters
- [LeetCode]-003-Longest Substring Without Repeating Characters
- LeetCode #003 Longest Substring Without Repeating Characters
- LeetCode 003 Longest Substring Without Repeating Characters
- 003 Longest Substring Without Repeating Characters [Leetcode]
- [LeetCode]003-Longest Substring Without Repeating Characters
- LeetCode 003 Longest Substring Without Repeating Characters
- LeetCode 003: Longest Substring Without Repeating Characters
- leetcode-003 Longest Substring Without Repeating Characters
- LeetCode-003 Longest Substring Without Repeating Characters
- leetcode 003 Longest Substring Without Repeating Characters
- LeetCode: Longest Substring Without Repeating Characters
- LeetCode Longest Substring Without Repeating Characters
- LeetCode: Longest Substring Without Repeating Characters
- 安卓各种资源介绍及使用方法以及工程各文件夹的介绍
- Mac OS X快速显示、恢复隐藏文件的方法
- 计算一段字符串的长度(中文算两个字符)
- 机器视觉会议以及牛人
- 内核符号表System.map
- 003 Longest Substring Without Repeating Characters [Leetcode]
- 适配器模式(Adapter)
- Mongodb开启与关闭
- 容易忘的CSS总结前端项目中可能用到的CSS总结
- Paper: Saliency Mapping Enhanced by Structure Tensor is published
- Flume之ChannelSelector源码分析
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- Android 关于启动过程的一些文章
- ListView CheckBox 全选,单选