LeetCode——Longest Substring Without Repeating Characters
来源:互联网 发布:网络ftp服务器 编辑:程序博客网 时间:2024/05/16 19:24
LeetCode——Longest Substring Without Repeating Characters
Leetcode上第三题:
题目如下:
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.
题目翻译:
求一个字符串中最大的不含重复元素的字串
题目解析:
首先我们很容易想到一个暴力的方法,只要遍历所有的字串然后进行条件的判断。但是其时间复杂度是我们不能接受的。我们需要一种更快的算法。
对于字符串中求字串之类的问题,我们很容易想到的是dp的方法,在这里我们想要使用dp来完成这道题目(网上有不少使用后缀树来做这道题目的方法,也是可行的,思路相对简单,但是实现起来相比有些复杂)。接下来让我们具体的看这种算法的过程:
1. 加入第一个元素 a1 设substr = [ a1 ] ,令MAX = 1
2 对于此后每一个想要加入的新元素 a i 执行下面的策略:检测a i 是否属于 substr ,若不属于 则 substr = substr + { ai } MAX += 1
若a i 属于substr ,即在substr中存在一元素 a j = a i 则令 substr = [ a j+1 .... a i ] 令 TEMPMAX = substr的长度
3 若 TEMPMAX > MAX 则更新 MAX
4 继续从2 执行 知道所有元素判断完毕,返回MAX
#include<iostream>#include<string>using namespace std;int lengthOfLongestSubstring(string s){int maxLen = 0;int preLen = 0;for(int i=0;i<s.size();++i){int curLen = 1;for(int j = i-1;j>=i-preLen;j--){if(s[j] == s[i])break;elsecurLen++;}if (curLen > maxLen)maxLen = curLen;preLen = curLen;}return maxLen;}int main(){string s = "cababdeak";cout<<lengthOfLongestSubstring(s)<<endl;return 0;}
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 003 —— Longest Substring Without Repeating Characters
- LeetCode——Longest Substring Without Repeating Characters
- LeetCode题解——3Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters —— Leetcode
- LeetCode——Longest Substring Without Repeating Characters
- #3 LeetCode——Longest Substring Without Repeating Characters
- [leetcode Q3] —— 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——3. Longest Substring Without Repeating Characters
- LeetCode算法题——Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters——LeetCode OJ
- 二分查找
- Java NIO和IO的主要区别
- IOS-MJExtension一句话搞定对象归档
- 常见的交换变量的三种方法
- C++封装DLL的方法
- LeetCode——Longest Substring Without Repeating Characters
- git学习
- 浏览器市场占有率
- Eclipse背景颜色修改
- lightOJ 1030(期望)
- 一些感触
- seo自己的几个学习途径是什么?
- POJ1502 MPI Maelstrom Dijkstra
- iOS-学习笔记-UI-第三天