leetcode:Longest Substring Without Repeating Characters (寻找最长无重复字符的子串)
来源:互联网 发布:linux常用命令ln 编辑:程序博客网 时间:2024/05/19 21:16
题目:
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.
解题思想:
采用哈希函数,构造26个整数的数组,初始为0.如果字符第一次出现(对应数字值为0),将相应数组的值置1,并将此字符所在无重复字符子串长度加1。若此字符已出现(对应数字值为1),则向前寻找相同字符的下一个位置,从此位置重新开始计算(数组重置为0)。最后返回最长长度。
代码:
class Solution {public: int lengthOfLongestSubstring(string s) { int a[26];int i=0,maxNO=0,sum=0,k;memset(a,0,26*sizeof(int));while(i<s.length()){if(a[s[i]-'a']==0){a[s[i]-'a']=1;sum++;i++;}else{if(sum>maxNO)maxNO=sum;k=i;while(s[--k]!=s[i]);i=k+1;sum=0;memset(a,0,26*sizeof(int));}}if(sum>maxNO)maxNO=sum;return maxNO; }};
0 0
- leetcode:Longest Substring Without Repeating Characters (寻找最长无重复字符的子串)
- [Leetcode #3]Longest Substring Without Repeating Characters 无重复字符的最长子串
- LeetCode-3:Longest Substring Without Repeating Characters (最长无重复字符的子串) --medium
- 寻找最长无重复字符子串 Longest Substring Without Repeating Characters
- 384.Longest Substring Without Repeating Characters-最长无重复字符的子串(中等题)
- LeetCode OJ 之 Longest Substring Without Repeating Characters (无重复的最长子串)
- Longest Substring Without Repeating Characters (返回最长无字符重复的子串长度)
- Longest Substring Without Repeating Characters (最长无重复字符的子串)
- [Lintcode] Longest Substring Without Repeating Characters 最长无重复字符的子串
- 字符的最长无重复子串长度Longest Substring Without Repeating Characters
- leetcode 3 : Longest Substring Without Repeating Characters 最长无重复子串 (C# 语言版)
- LeetCode 3. Longest Substring Without Repeating Characters--不包含重复字符的最长子串长度
- 3. Longest Substring Without Repeating Characters 无重复字符的最长子字符串
- Longest Substring Without Repeating Characters,最长无重复字符子串
- LeetCode-3 Longest Substring Without Repeating Characters(最长无重复子串)
- 【LeetCode】4. Longest Substring Without Repeating Characters 最长无重复子串
- leetcode 3 Longest Substring Without Repeating Characters最长无重复子串
- LeetCode OJ-3.Longest Substring Without Repeating Characters(最长无重复子串)
- Makefile总结续
- poj2485 - Highways
- 疯狂的Google之各种传说
- Android 获取手机总内存和可用内存等信息
- fork函数
- leetcode:Longest Substring Without Repeating Characters (寻找最长无重复字符的子串)
- java 判空方式
- 我的 usaco sort3
- hdu3874之离线树状数组
- 【ci框架】codeigniter中如何记录错误日志
- Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理)
- lua元表
- list.h分析使用
- Java学习-Jdk和Tomcat配置环境变量(1)