zoukankan      html  css  js  c++  java
  • leetcode : Longest Substring Without Repeating Characters 解题报告

    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.

    Subscribe to see which companies asked this question

    tag : two pointers     HashSet

    思路:

    (1)从第一个字符开始遍历,计算以每个字符开始的最长无重复子字符串。 

    (2)每一计算的子串存在零时的HashSet里面。 注意HashSet这个数据结构, 增加元素是add()不是put().

    public class Solution {
        public int lengthOfLongestSubstring(String s) {
            if(s == null || s.length() == 0) {
                return 0;
            }
            int max = 0;
            
            for(int i = 0; i < s.length(); i++) {
                HashSet<Character> set = new HashSet<Character>();
                set.add(s.charAt(i));
                if(max >= s.length() - i) {
                        break;
                    }
                
                for(int j = i + 1; j < s.length(); j++) {
                    
                    if(set.contains(s.charAt(j))) {
                        break;
                    } else {
                        set.add(s.charAt(j));
                    }
                }
                max = Math.max(max, set.size());
            }
            
            return max;
           
        }
    }
    
  • 相关阅读:
    bzoj 2618: [Cqoi2006]凸多边形
    BZOJ 4556 [Tjoi2016&Heoi2016]字符串
    BZOJ 4850 [Jsoi2016]灯塔
    BZOJ 2956: 模积和
    PHP 正则表达式
    Linux Centos6.5安装redis3.0 和phpredis
    linux 删除过期文件
    THINKPHP报错 _STORAGE_WRITE_ERROR
    THINKPHP 部署nginx上URL 构造错误
    Linux 修改mysql密码
  • 原文地址:https://www.cnblogs.com/superzhaochao/p/6358611.html
Copyright © 2011-2022 走看看