Longest Substring Without Repeating Characters
来源:互联网 发布:format java 编辑:程序博客网 时间:2024/06/05 07:24
3.Longest Substring Without Repeating Characters
from LeetCode
Description
Given a string, find the length of the longest substring without repeating characters.
Examples:
Given “abcabcbb”, the answer is “abc”, which the length is 3.
Given “bbbbb”, the answer is “b”, with the length of 1.
Given “pwwkew”, the answer is “wke”, with the length of 3. Note that the answer must be a substring, “pwke” is a subsequence and not a substring.
JAVA Solution
代码实现
A
public class Solution { public int lengthOfLongestSubstring(String s) { //new一个数组作为哈希表,用哈希表记录字符串中某个字符出现的位置。映射方式为直接定址法,用字符的数值作为参数一一对应到哈希表中。char占一个字节,介于0~255之间,所以new的数组大小为256. int[] Hash = new int[256]; //index是索引代表起始位置,索引和数组中元素的初值设为0表示该字符还未出现过 int index=0,max=0; for(int i=0;i<s.length();i++) { int n = (int)s.charAt(i); //若不是第一次出现,改变起始位置 if(Hash[n] > index) index = Hash[n]; if(i-index+1 > max) max = i-index+1; //更新哈希表中字符的最新位置 Hash[n] = i+1; } return max; }}
日志:
Longest Substring Without Repeating Characters,求最长无重复字串。以上方案参照了一位博主的C++实现方案。看来数据结构是算法密不可分的辅助工具啊,此方案的时间复杂度是n。算法设计中常常会用到时间复杂度和空间复杂度的转换,少计算就多花点内存。一般onlinejude的题目可以多考虑这方面的转换。
0 0
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- dp专题 第二题 最大子矩阵
- Android RadioGroup的监听
- DAY_02浅谈ifelse与switch语句的不同 菜狗子的修炼之路
- 笔记 sizeof 字符串数组 数组 函数传值
- 配置C3P0连接
- Longest Substring Without Repeating Characters
- Fragment的导包问题和相关注意点
- 5、uboot源码——start_armboot函数
- 渣渣渣变渣渣系列(4)
- 5. Java NIO系列之阻塞式IO
- 算法训练 矩阵加法
- spring ioc原理(看完后大家可以自己写一个spring)
- groupcache分析(一) -单机环境下的groupcache分析
- 36.47.17.64