lintcode-384-最长无重复字符的子串
384-最长无重复字符的子串
给定一个字符串,请找出其中无重复字符的最长子字符串。
样例
例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 3。
对于,"bbbbb",其无重复字符的最长子字符串为"b",长度为1。挑战
O(n) 时间
标签
哈希表 字符串处理 两根指针
思路
参考 http://blog.csdn.net/wangyuquanliuli/article/details/45724887
遍历该字符串,每遍历一个字母时,利用map去找该字母最近一次出现是什么时候,中间这一段便是无重复字符的字符串
code
class Solution {
public:
    /*
     * @param : a string
     * @return: an integer
     */
    int lengthOfLongestSubstring(string s) {
        // write your code here
        int size = s.size();
        if (size <= 1) {
            return size;
        }
        int result = 0, begin = 1;
        map<char, int> map;
        for (int i = 1; i <= size; i++) {
            if (map[s[i - 1]] >= begin) {
                begin = map[s[i - 1]] + 1;
                map[s[i - 1]] = i;
            }
            else {
                map[s[i - 1]] = i;
                result = max(result, i - begin +1);
            }
        }
        return result;
    }
};
lintcode-384-最长无重复字符的子串的更多相关文章
- lintcode: 最长无重复字符的子串
		题目 最长无重复字符的子串给定一个字符串,请找出其中无重复字符的最长子字符串. 例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 ... 
- [LeetCode] Longest Substring Without Repeating Characters 最长无重复字符的子串 C++实现java实现
		最长无重复字符的子串 Given a string, find the length of the longest substring without repeating characters. Ex ... 
- [LeetCode] Longest Substring Without Repeating Characters 最长无重复字符的子串
		Given a string, find the length of the longest substring without repeating characters. Example 1: In ... 
- leetcode-最长无重复字符的子串
		参考他的人代码:https://blog.csdn.net/littlebai07/article/details/79100081 给定一个字符串,找出不含有重复字符的最长子串的长度. 示例 1: ... 
- 最长无重复字符的子串 · Longest Substring Without Repeating Characters
		[抄题]: 给定一个字符串,请找出其中无重复字符的最长子字符串. 例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 3. 对于, ... 
- LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)
		这是悦乐书的第341次更新,第365篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Medium级别的第2题Longest Substring Without Repeating Cha ... 
- 3. Longest Substring Without Repeating Characters - 最长无重复字符子串-Medium
		Examples: Description: Given a string, find the length of the longest substring without repeating ch ... 
- LeetCode OJ:Longest Substring Without Repeating Characters(最长无重复字符子串)
		Given a string, find the length of the longest substring without repeating characters. For example, ... 
- LeetCode(3):无重复字符的最长子串
		Medium! 题目描述: 给定一个字符串,找出不含有重复字符的 最长子串 的长度. 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ... 
随机推荐
- linux用户及文件管理
			帮助命令 whatis 命令 #显示命令的简短功能 man 命令 #查看手册页和命令描述 命令--help #适用于外部命令 help 命令 #适用于内部命令 type 命令 ... 
- sqli-labs(less-11-16)
			POST登入 首先试试 uname=admin'# & passwd=1 登入成功 如果不知道用户名 ,注释符被过滤,可以从password入手 一般第一个登陆字段(一般是用户名)就用注释,第 ... 
- 监控生产线上服务器的docker容器及主机
			1. 部署cadvisor容器,用来收集host上的容器信息,该容器部署在需要收集容器信息的每一个主机上部署: docker run -v /:/rootfs:ro -v /var/run:/var ... 
- CVE-2018-8174  EXP  0day  python
			usage: CVE-2018-8174.py [-h] -u URL -o OUTPUT [-i IP] [-p PORT] Exploit for CVE-2018-8174 optional a ... 
- C服务程序模板
			在DoWork中添加自己的代码. 服务安装: sc create srvdemo binpath= "F:\srvdemo.exe" 服务启动:sc start srvdemo ... 
- Dart 语言了解
			Dart 语言了解 概念 当您了解Dart语言时,请记住以下事实和概念: 您可以放在变量中的所有内容都是一个对象,每个对象都是一个类的实例.偶数,函数和 null对象.所有对象都从Object类继承. ... 
- HTML5新增元素,标签总结
			总是遇到h5新标签的笔试题目,就查阅了资料来总结一下: 1.form相关: (1)form属性:在HTML5中表单元素可放在表单之外,通过给该元素添加form属性来指向目标表单(form属性值设为目标 ... 
- 20155215 2016-2017-2《Java程序设计》课程总结
			20155215 2016-2017-2<Java程序设计>课程总结 一.(按顺序)每周作业链接汇总 预备作业1: 对于JAVA课程本身的期望和理解.以及期望的师生关系是什么样的,自己印象 ... 
- 20155306 2006-2007-2 《Java程序设计》第4周学习总结
			20155306 2006-2007-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 继承:面向对象中,为避免多个类间重复定义共同行为. 运 ... 
- 【整理总结】Visual Studio 扩展和更新
			Add New File File Icons C# outline ClaudiaIDE Code alignment CodeMaid Indent Guides Inline Color Pic ... 
