3. Longest Substring Without Repeating Characters
来源:互联网 发布:迅雷mac无法登录会员 编辑:程序博客网 时间:2024/05/21 15:42
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.
求最长的不重复子串,最开始用hashmap存,效率比较低,后来参考网上的解法,运用一个数组来保存字符出现的位置,速度提升了很多。
public static int lengthOfLongestSubstring2(String s) {int[] pos=new int[256];for(int i=0; i<pos.length; i++){pos[i]=Integer.MAX_VALUE;}int re=0;int count=0;int start=0;for(int i=0; i<s.length(); i++){char chari=s.charAt(i);int position=chari-' ';if(i>pos[position]){//出现过for(int j=start; j<pos[position]; j++){pos[s.charAt(j)-' ']=Integer.MAX_VALUE;count--;}start=pos[position]+1;pos[position]=i;}else{//没出现过pos[position]=i;count++;if(count>re)re=count;}}return re;}
总结:
1、数组在某种程度上也是哈希表,在这个题上用来记录字符出现的位置,如果是Integer.MAX_VALUE则代表没有出现过
2、unicode的第一个字符是空格而不是'!',这个问题上浪费了很多时间
0 0
- [LeetCode]3.Longest Substring Without Repeating Characters
- LeetCode 3.Longest Substring Without Repeating Characters
- LeetCode --- 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- [Leetcode] 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- [leetcode] 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- [leetcode] 3. Longest Substring Without Repeating Characters
- 3. 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
- Oracle查看锁表
- springmvc 使用fastjson 处理 json 数据时中文乱码
- 学生成绩名次表
- js代码测试工具
- 安卓面试题
- 3. Longest Substring Without Repeating Characters
- bash
- 《Android源码设计模式解析与实战》读书笔记(十)
- 还在犹豫要不要用社会化媒体?站长们可别小看它!
- 组件说明
- Binary Tree Paths 二叉树的路径(含创建树的代码)
- 文件备份与还原功能
- centOS中mysql一些常用操作
- PS界面的外观颜色风格如何更改?